2016-09-18 10 views
0

testの複数の呼び出しを行いたいが、最初にその後jasmine.onCompleteが呼び出され、プログラムが終了する。私はすでに知っている、私は複数のテストを並行して行うことはできないが、私はそれらをキューに入れることができるかもしれないと思ったが、ジャスミンがノードを終了したら、そのため:ジャスミンでのonCompleteの終了の防止

ノードを終了するジャスミンを防止する方法はありますか?

const toCall = {} 
jasmine.onComplete(function(passed) { 
    toCall[varReporter.last.name](passed, varReporter.last.result) 
    toCall[varReporter.last.name] = null 
}); 

function test(folder, file, callback){ 
    toCall[file] = callback 
    jasmine.execute(['JS/' + folder + '/tests/' + file + '.js']) 
} 

// User saves a file, a test get triggered. 
test('prototype', 'Array', function(passed, result){ 
    console.log(util.inspect(result, { colors: true, depth: null })) 
}) 

// User saves an other file and an other test should get triggered, but can't. 

私のテストはグループではなく、ファイルとのユーザーのやりとりに基づいて1つずつ呼び出されます。それぞれの保存の後にテストを実行する必要があるので、いつでも処理する必要があるかどうかを判断できます。

jasmine.exit =() => {}; 

をしかし、それは、様々な不具合が発生します。

答えて

2

あなたはジャスミン終了オプションをオーバーライドすることができます。 私はむしろ別のプロセスでは、全体のスクリプトを実行したい:

実行test.js

const path = require('path'), 
    Jasmine = require('jasmine/lib/jasmine.js'); 

const jasmine = new Jasmine({ projectBaseDir: path.resolve() }); 
jasmine.execute(process.argv.slice(2)); 

時計tests.js

const fork = require('child_process').fork; 

function test(folder, file) { 
    fork('run-test.js', ['JS/' + folder + '/tests/' + file + '.js']); 
} 

// User saves a file, a test get triggered. 
test('prototype', 'Array') 
// User saves an other file and an other test should get triggered, but can't. 
+0

これは私が終わったものを実際にと...主に理由で、私は複数のテストを実行することができます(並列であっても、それは必要ではありませんが、まだ持っているといいです) – Akxe

+1

説明のために、フォークにリスナーを置くだけで、人々は正しくそれを行う方法を見ることができます – Akxe

関連する問題