Javascript Angular ngMock有时因没有挂起的请求而失败
如果我保持对Javascript Angular ngMock有时因没有挂起的请求而失败,javascript,angularjs,jasmine,ngmock,Javascript,Angularjs,Jasmine,Ngmock,如果我保持对$httpBackend.flush()的调用,则测试将失败,因为没有挂起的请求,但预期将通过。如果我注释掉flush调用预期失败。当我在获取日期的服务中放置断点时,它正在被调用,承诺正在解决,我可以进入正在被调用的addIssues。可能是另一个测试导致的吗 it("should pass", function() { scope.issues = []; scope.requestChanges.issues
$httpBackend.flush()
的调用,则测试将失败,因为没有挂起的请求,但预期将通过。如果我注释掉flush
调用预期失败。当我在获取日期的服务中放置断点时,它正在被调用,承诺正在解决,我可以进入正在被调用的addIssues
。可能是另一个测试导致的吗
it("should pass",
function() {
scope.issues = [];
scope.requestChanges.issues = [
{
title: "File Mismatch",
affects_2d_file: true,
affects_3d_file: true,
resolved_at: null
},
{
title: "Missing Files",
affects_2d_file: true,
affects_3d_file: true,
resolved_at: null
}
];
spyOn(TEST.$state, "go");
spyOn(TEST.notification_service, "pushSuccessMessage");
TEST.$httpBackend.expectPOST("/some/url")
.respond(200,{
part_issues: scope.requestChanges.issues
});
scope.addIssues(); //this makes makes the http request.
TEST.$httpBackend.flush(); //expects pass, but no pending request
scope.part.issues.forEach(function(e, i) {
var issue = e;
var change = scope.requestChanges.issues[i];
expect(_.isEqual(issue, change)).toBe(true);
});
//TEST.$httpBackend.flush(); expects fail
});
我确实有TEST.$httpBackend.expectGET(“/some/url”)。在beforeach中响应(200,part)
。(否flush
调用beforeach`)如果没有正在测试的代码,这个问题就没有意义。如果有另一个测试可能会导致问题,请也发布它。有太多的事情是隐藏在幕后的,例如,测试从何而来。如果没有正在测试的代码,这个问题就没有意义。如果有另一个测试可能会导致问题,请也发布它。有太多的事情是隐藏在幕后的,例如,测试从何而来。