Проверка 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() вызов.

Другие вопросы по тегам