Проверка assert не удалась в async() утверждении с тестированием QUnit
Я тестирую свой код, используя TDD.
код следующий -
QUnit.test("Testing submitApi", function (assert) {
// createSampleSheet();
BWUser.authenticate().done(function () {
BWTableProperties.readAllTableProperties().then(function (allTableProperties) {
for (var i = 0; i < allTableProperties.length; i++) {
var getResult = Submit.submitApi(allTableProperties[i], "test", 0); //getResult is Promise
getResult.then(function () {
var promise = assert.async();
var promisedone = makeQuerablePromise(getResult);// gives whether promise resolved or not
promisedone.then(function () {
assert.equal(promisedone.isFulfilled(), true, "Promise should be resolved");
promise();
});
});
}
});
});
});
когда я запускаю тест, он показывает следующую ошибку:
Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.
Кто-нибудь может подсказать, что пошло не так, первое впечатление, я чувствую, что из-за цикла может быть ошибка, но я не уверен.?
1 ответ
Решение
Ты звонишь assert.async
когда уже внутри асинхронного кода. Если вы вызываете его в начале теста, перед вызовом асинхронного кода, тест будет ждать promise()
вызов.