在量角器中进行E2E测试中的服务

8 angularjs protractor e2e-testing

我想为我的应用程序编写功能测试,我想模拟我的loginService服务,以加快测试速度.我不想模拟$ http,而是内部调用它的服务,但是我不能把一个间谍放在函数loginService.validate上,它将HTTP查询发送到服务器,但它没有被加载,因为它在驱动程序中,而不是在测试本身.我也看了一下addMockModule但我无法理解如何使用它.有一种简单的方法可以做我想要的吗?我看了看这些,但他们没有帮助:

用量角器嘲弄和剔骨

在量角器中嘲弄角度服务

Man*_*lka 5

试试这个.

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"
          }
          ])

      })
    })
  });
Run Code Online (Sandbox Code Playgroud)

阅读本文以获得更多说明.:)