我正在使用運行在nodejs實例中的mocha測試存儲過程。我有這樣的測試框架:無法在同步模式下運行Mocha.js
var chai = require('chai'),
MyReporter = require("../MyReporter.js"),
chokidar = require('chokidar'),
expect = chai.expect,
should = chai.should,
assert = chai.assert;
var Mocha = require('mocha');
amochai = new Mocha({
bail: false,
debug: true
});
amochai.addFile("mytest_v1.js");
function runMocha(callback) {
amochai.run(function() {
callback();
});
}
watcher.on('change', function(path, stats) {
runMocha(function() {});
}
問題:我的測試中總是在異步模式下運行,雖然我的所有測試都這樣寫的:
describe('Mysql stored procedures', function(){
describe('Add this data', function(){
it('-- Should return this information', function(){
// asserts
});
});
});
沒有完成()回調,我的意思是任何地方,所以,正如在任何地方都提到mocha.js是默認同步的,可能是我的代碼在異步模式下運行的原因是什麼?
PATCH
要修補我的問題,我有()之前使用和檢查我的測試狀態,但是這成爲維護的噩夢。
有什麼症狀可導致您認爲mocha異步運行測試? – Louis
我正在node-inspector中運行這些測試,並且我可以通過斷點確認測試是並行運行的。我帶着調試人員去發現爲什麼我的測試是不連貫的。 – Alain
如何同步調用存儲過程?你正在談論db存儲過程,對吧? – vkurchatkin