最佳答案
(这里有一个相关的问题: 茉莉花测试没有看到 AngularJS 模块)
我只是想测试一个服务没有自举角。
我已经看了一些例子和教程,但我不会去任何地方。
我只有三个文件:
Js: 其中我定义了一个 AngularJS 服务
Test _ myService. js: 其中我为服务定义了一个 Jasmine 测试。
HTML: 一个具有正常 jasmine 配置的 HTML 文件 在这里,我导入了前面的两个文件和 Jasmine、 Angularjs 和 angle-mock. js.
这是服务的代码(在我不进行测试的时候可以正常工作) :
var myModule = angular.module('myModule', []);
myModule.factory('myService', function(){
var serviceImplementation = {};
serviceImplementation.one = 1;
serviceImplementation.two = 2;
serviceImplementation.three = 3;
return serviceImplementation
});
由于我试图单独测试服务,因此应该能够访问它并检查它们的方法。 我的问题是: 如何在测试中注入服务而不引导 AngularJS?
例如,如何使用 Jasmine 测试服务方法返回的值,如下所示:
describe('myService test', function(){
describe('when I call myService.one', function(){
it('returns 1', function(){
myModule = angular.module('myModule');
//something is missing here..
expect( myService.one ).toEqual(1);
})
})
});