0

这是我尝试过的:

$ git clone https://github.com/angular/angular-seed my_project && cd my_project
$ rm -rf app update_angular.js test/e2e/scenarios.js
$ touch test/e2e/scenarios.js

然后,我将AngularJS 官方ngMock.$httpBackend文档中的代码粘贴到:

测试/e2e/scenarios.js

'use strict';                               // Line 1

function MyController($scope, $http) {...}  // Lines 3-22

describe('MyController', function() {...}   // Lines 24-87

错误

不幸的是,当我使用 运行测试时config/karma-e2e.conf,我得到:

ReferenceError: inject is not defined at
                http://localhost:9876/base/test/e2e/scenarios.js?1387679134000:31
4

1 回答 1

1

inject 在 angular-mocks 文件中定义,仅用于单元测试。如果您使用 Karma,只需将其添加到文件数组中。

e2e 测试位于浏览器之上,并由 angular-scenario 运行。你不能在那里注入任何 Angular 组件。

顺便说一句,Angular 团队正在将他们的功能测试迁移到基于 Selenium的量角器。我会赶上那个而不是角度场景测试框架。量角器好很多。

于 2013-12-23T05:52:26.347 回答