Я тестирую хранимые процедуры с использованием mocha в экземпляре nodejs. У меня есть этот скелет теста:Не удается запустить 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
Чтобы исправить мою проблему, я должен был использовать ранее() и проверить мои тесты состояния, но это становится кошмаром для поддержания.
Каков симптом, который приводит вас к выводу, что мокка выполняет асинхронные тесты? – Louis
Я запускаю те тесты в узле-инспекторе, и я могу подтвердить, что через контрольные точки тесты проходят параллельно. Я привел отладчика на помощь, чтобы узнать, почему мои тесты были некогерентными. – Alain
Как вы можете синхронно вызвать хранимые процедуры? вы говорите о процедурах хранения db, правильно? – vkurchatkin