如何在 angularjs 中从茉莉花访问我的工厂服务



我无法使服务在我的规范中工作

这是我错误的屏幕截图

这是我的规格:书籍规格.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_;
  }));

希望这对;)有所帮助

最新更新