我无法使服务在我的规范中工作
这是我错误的屏幕截图
这是我的规格:书籍规格.js
describe('Books factory', function() {
var Books, resource;
// Before each test load our api.books module
beforeEach(function(){angular.module('api.books')});
// Before each test set our injected Books factory (_Books_) to our local Books variable
beforeEach(inject(function(_Books_ , _$resource_) {
Books = _Books_;
resource = _$resource_ ;
}));
// A simple test to verify the Books factory exists
it('should exist', function() {
expect(Books).toBeDefined();
});
});
书籍.js
(function() {
'use strict';
angular.module('api.books',["app","ngResource"]).factory('Books',["$resource",function($resource){
return $resource("http://localhost/codeigniterAPI/books/:id", {id:"@_id"}, {
update: {method: "PUT", params:{id:"@_id"}}
})
}]) //end factory
})();
我认为你需要阅读这个页面:https://docs.angularjs.org/guide/unit-testing。这将是回答您所有问题的良好开端。
要注入一些要测试的元素,请执行以下操作:
beforeEach(inject(function(_$controller_, _YourService_){
// Get one of your controller:
$controller = _$controller_;
$scope = {};
YourController = $controller('YourController', { $scope: $scope });
// Get one of your service:
YourService = _YourService_;
}));
希望这对;)有所帮助