Jasmine 承诺解决后运行规范
我遇到了一个运行规范的问题,该规范应该在承诺得到解决后执行。请参见下面的简化示例 我尝试在规范中使用iLife或调用Jasmine 承诺解决后运行规范,jasmine,protractor,Jasmine,Protractor,我遇到了一个运行规范的问题,该规范应该在承诺得到解决后执行。请参见下面的简化示例 我尝试在规范中使用iLife或调用done()函数,但这些似乎都不起作用 // getIds() is a simple promise which returns an array of ids getIds().then(function (ids) { console.log('IDS: ' + ids); // all good so far // This test is never r
done()
函数,但这些似乎都不起作用
// getIds() is a simple promise which returns an array of ids
getIds().then(function (ids) {
console.log('IDS: ' + ids); // all good so far
// This test is never run
it('dummy test', function () {
console.log('TEST HAS BEEN RUN');
});
});
您可以使用
browser.wait()
等待您的承诺完成。或者,您可以将测试放在then块中:
it('should test', function() {
getIds().then(function (ids) {
// some action.
expect()...
});
});
此外,你可以把承诺放在一个beforeach或beforeal中(茉莉花2)。将ID分配给在描述中声明的变量。该值应可供您的测试使用。您是否尝试在测试中添加断言(expect)?我不确定测试是否会在没有断言的情况下运行。不,这对问题没有任何影响。是否收到任何错误消息?如果是,请发布。否,测试已成功运行,但报告执行了0个规格中的0个。为什么要将整个
it
spec放入回调中,而不仅仅是一个期望?