所以我很难通过Protractor
为我的Angular控制器设置模拟单元测试。原因?这是因为我无法想象如何将Angular mocks
注入我的测试中。
使用Karma runner
,我成功地设置了这个,因为有明确的例子:karma.conf.js
;但是,我需要使用Protractor运行完整的e2e测试 - 我需要注入角度控制器。
以下是在线示例,演示了Karma
单元测试和Protractor
e2d测试。 https://github.com/mjhea0/angular-testing-tutorial/tree/master/tests
在karma.conf.js中,您可以使用files: [ ... ]
属性来指定angular-mocks.js
等。但是,在protractor.conf.js
中似乎没有这样的东西。
以上面的git repo为例:
beforeEach(function () {
module('myApp');
});
beforeEach(inject(function ($controller, $rootScope) {
$scope = $rootScope.$new();
controller = $controller('TestOneController', {
$scope: $scope
});
}));
当使用Karma运行单元测试时,这是有效的,但是如何使用Protractor运行它?
它使用module()
和inject()
,但使用angular-mocks.js
。我会使用require()
来实现这一目标吗?
或者它是否与本文讨论的内容有关? http://blog.ng-book.com/how-to-mock-http-requests-in-protractor/
赞赏建议和指导...
鲍勃