gpt4 book ai didi

angularjs - 如何验证根本没有发出http请求?

转载 作者:行者123 更新时间:2023-12-04 13:33:22 27 4
gpt4 key购买 nike

如何验证没有调用任何 http 请求方法来执行任何请求。我有这个代码:

 $scope.getSubnetsPageDetails = function (pageNumber) {
$http.get(URLS.subnetsPagesCount(pageNumber)).success(function (response) {
$scope.pageDetails = response;
}).error(function (response, errorCode) {

});
};

这个测试:
it("should not allow request with negative page number", function () {

scope.getSubnetsPageDetails(-1);
//verify that htt.get is not invoked at all

});

如何验证 http.get 没有被调用?

最佳答案

您可以使用 verifyNoOutstandingRequest() 测试是否未进行任何调用。来自 $httpBackend mock 的方法.

通常这些验证在 afterEach 中完成。 Jasmine 测试的一部分。除此之外,调用另一个方法是很常见的,verifyNoOutstandingExpectation()验证是否实际调用了所有预期的调用。

这是代码,您需要在其中注入(inject) $httpBackend mock :

var $httpBackend;
beforeEach(inject(function($injector) {
$httpBackend = $injector.get('$httpBackend');
}));

然后你测试并在最后:
afterEach(function() {
$httpBackend.verifyNoOutstandingExpectation();
$httpBackend.verifyNoOutstandingRequest();
});

当然你可以调用 $httpBackend.verifyNoOutstandingRequest()在个人测试中。提到的 http://docs.angularjs.org/api/ngMock.$httpBackend页面上有丰富的主题信息。

关于angularjs - 如何验证根本没有发出http请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13358275/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com