我面临以下问题,我无法摆脱它:
$http.post
,当我尝试使用Protractor测试这个小应用程序时,测试在步骤3发生之前结束。这使我的测试失败,因为数据库中的更新并不总是完成。在测试期间,我看到对话在10秒后打开。
这是一些代码。 我的Angular服务正在进行调用:
$http.post(url, parameters).
success(function (data) {
$log.debug('Success in cldHttp data is "%s"', JSON.stringify(data));
NotifSrv.translateMessage('commons.request.ok', [],
function (successMessage) {
data.errorMessage = null;
if (options.notifySuccess) NotifSrv.addNotification(successMessage, 'success');
if (cb) cb(undefined, data);
});
});
我的量角器测试:
browser.get('/#!/activate-account.html?id=' + acc._id).then(function () {
browser.sleep(1000);
// Check that DB is updated
accountColl.findOne({
pseudo: 'MyActivatePseudo'
}, function (err, acc2) {
expect(err).to.not.exist; // OK
expect(acc2.activated).to.be.true; // KO the DB update has been done just after the findOne
});
});
我在量角器测试中尝试browser.sleep()
,但它什么也没做。
非常感谢你的帮助,因为我完全陷入了困境!
JM。