nat*_*asm 16 jasmine angularjs angularjs-service karma-runner
我有一个简单的服务,我试图进行单元测试.无论我尝试什么,searchService都是未知的提供者,或者服务是null(奇怪的是,这不会导致我的测试失败!!).
任何人都可以了解我可能做错了什么?
angular.module('app').service('searchService', function( $q, _ ) { // _ is lodash
var cache = [
{
id: "current",
name: "Current",
description: "Search current data"
},
{
id: "historical",
name: "Historical",
description: "Search historical data"
}
];
this.getSearchOptions = function() {
var deferred = $q.defer();
deferred.resolve( angular.copy( cache ) );
return( deferred.promise );
};
this.getSearchOptionsByID = function( id ) {
var deferred = $q.defer();
var searchOption = _.findWithProperty( cache, "id", id );
if ( searchOption ) {
deferred.resolve( angular.copy( searchOption ) );
} else {
deferred.reject();
}
return( deferred.promise );
};
}
);
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个在searchService中加载的单元测试,以便我可以检查缓存的值:
describe("Unit: Testing Services", function() {
describe("Search Service:", function() {
var service = null;
beforeEach(function() {
angular.module('app').service('_');
});
// I've also tried the commented out code below
//beforeEach(inject(function(searchService) {
//this.service = searchService;
//}));
//it('should contain an searchService', invoke(function(service) {
it('should contain an searchService', function(searchService) {
expect(searchService).not.to.equal(null);
});
it('should contain two search options', function(searchService) {
expect(searchService.getSearchOptions()).to.equal(2);
});
});
});
Run Code Online (Sandbox Code Playgroud)
Flo*_*ale 22
以下应适用于没有参数的服务,也许这可以作为一个起点:
describe("Unit: Testing Services", function() {
describe("Search Service:", function() {
beforeEach(function() {
angular.module('app');
});
it('should contain a searchService',
inject(function(searchService) {
expect(searchService).not.to.equal(null);
}));
it('should contain two search options',
inject(function(searchService) {
expect(searchService.getSearchOptions()).to.equal(2);
}));
});
});
Run Code Online (Sandbox Code Playgroud)
(您还可以在这里查看:如何使用Jasmine测试AngularJS服务?)
| 归档时间: |
|
| 查看次数: |
25713 次 |
| 最近记录: |