在量角器中模拟 E2E 测试中的服务
Mock a service in E2E test in protractor
我想为我的应用程序编写一个功能测试,我想模拟我的 loginService 服务,以加快测试速度。我不想模拟 $http,而是内部调用它的服务,但我不能监视函数 loginService.validate,它向服务器发送 HTTP 查询,但它没有加载,因为它在驱动程序中,而不是在测试本身中。我也看了一下 addMockModule 但我不明白如何使用它。有没有一种简单的方法可以做我想做的事?我看了这些,但他们没有帮助:
Mocking and Stubbing with protractor
Mocking an angular service in Protractor
试试这个。
describe('MockingHttp', function() {
beforeEach(function() {
browser.addMockModule('httpMocker', function() {
angular.module('httpMocker', ['ngMockE2E'])
.run(function($httpBackend) {
$httpBackend.whenGET(
'http://jsonplaceholder.typicode.com/photos')
.respond([
{
albumId: 1,
id: 1,
title: "accusamus beatae ad",
url: "http://placehold.it/600/92c952",
thumbnailUrl: "http://placekitten.com/g/200/300"
}
])
})
})
});
阅读 this 以获得更多说明。 :)
我想为我的应用程序编写一个功能测试,我想模拟我的 loginService 服务,以加快测试速度。我不想模拟 $http,而是内部调用它的服务,但我不能监视函数 loginService.validate,它向服务器发送 HTTP 查询,但它没有加载,因为它在驱动程序中,而不是在测试本身中。我也看了一下 addMockModule 但我不明白如何使用它。有没有一种简单的方法可以做我想做的事?我看了这些,但他们没有帮助:
Mocking and Stubbing with protractor
Mocking an angular service in Protractor
试试这个。
describe('MockingHttp', function() {
beforeEach(function() {
browser.addMockModule('httpMocker', function() {
angular.module('httpMocker', ['ngMockE2E'])
.run(function($httpBackend) {
$httpBackend.whenGET(
'http://jsonplaceholder.typicode.com/photos')
.respond([
{
albumId: 1,
id: 1,
title: "accusamus beatae ad",
url: "http://placehold.it/600/92c952",
thumbnailUrl: "http://placekitten.com/g/200/300"
}
])
})
})
});
阅读 this 以获得更多说明。 :)