我对角应用有这样的测试:
it("should return false if all products loaded", function () {
$httpBackend.flush();
scope.loadNextProducts(15).then(function (isThereMoreToLoad) {
expect(isThereMoreToLoad).toBe(false);
});
scope.$apply();
});
如果我忘了写以太$httpBackend.flush();
或scope.$apply();
测试将永远不会到达expect()
部分,测试将会成功。
有没有办法确保茉莉花测试执行expect(),如果没有,那么它应该失败?
指定it()
预期会有多少expect()
,或者告诉jasmine每个测试应至少执行一次expect()
,否则会失败。
答案 0 :(得分:0)
试试这个:
afterEach(function() {
$httpBackend.verifyNoOutstandingExpectation();
$httpBackend.verifyNoOutstandingRequest();
});
那应该确保您的测试没有未访问过的期望,并且还应验证是否已调用所有预期的服务器调用。
上找到更多信息