2017-07-28 18 views
5

ayrı süreç ortamında birden JS test dosyaları nasıl çalıştırılacağı yüzden bu muhtemelen önemsiz bir soru olabilir ancak henüz bir cevap bulamadık:mocha: Mocha I am new

Ben ile basit NodeJS projesi var Test klasörü altındaki package.json altında

{ 
    "name": "test", 
    "version": "1.0.0", 
    "description": "test", 
    "main": "index.js", 
    "scripts": { 
    "test": "mocha" 
    }, 
    "author": "davide talesco", 
    "license": "ISC", 
    "devDependencies": { 
    "chai": "^4.0.2", 
    "mocha": "^3.4.2" 
    } 
} 

ve aşağıdaki 2 testler dosyaları:

test1.js

Ben npm testini çalıştırdığınızda

test2.js

process.env.NODE_ENV = 'prod'; 

var chai = require('chai'); 
var should = chai.should(); 

describe('Test setProp', function(){ 
    it('env variable should be prod', function(done){ 
    process.env.NODE_ENV.should.be.equal('prod'); 
    return done(); 
    }); 
}); 

başarılı ikinci ederken tam ilk test başarısız olarak başına

ie-macp-davidt:crap davide_talesco$ npm test 

> [email protected] test /Users/davide_talesco/development/crap 
> mocha 



    Test setProp 
    1) env variable should be test 

    Test setProp 
    ✓ env variable should be prod 


    1 passing (16ms) 
    1 failing 

    1) Test setProp env variable should be test: 

     AssertionError: expected 'prod' to equal 'test' 
     + expected - actual 

     -prod 
     +test 

     at Context.<anonymous> (test/test1.js:11:36) 



npm ERR! Test failed. See above for more details. 

altında onun testler altında çalıştığından oldukça açık Aynı süreç ... sorum şu: Her biri kendi çevresini ayarlayabilmeleri için onları tamamen ayrı süreçler altında nasıl çalıştırabilirim?

find ./test -name '*.js' -exec mocha \{} \;

ben bir sorundan kaçınmak için yerel mocha ikili kullanmaya tavsiye ederim:

sayesinde

Davide en basit yollarından

cevap

2

Bir Unix find komut kullanmaktır dünya çapında kurulmadıysa:

Eğer package.json o eklemek istiyorsanız

, ters eğik çizgi kaçan gerektiğini lütfen unutmayın:

... 
"scripts": { 
    "test": "find ./test -name '*.js' -exec ./node_modules/.bin/mocha \\{} \\;" 
}, 
... 
İlgili konular