2017-06-21 34 views
-2

林不能夠讓我在規範服務工作如何訪問到我的工廠服務,從茉莉angularjs

here is an screenshot of my error

這是我的規格: Books.spec.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(); 
    }); 
}); 

Books.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 
})(); 
+1

請修正你的信息的佈局,並解釋什麼是真正的問題。 – sjahan

+0

問題是,我不知道如何注入工廠到spe​​c文件中,並嘗試訪問其驗證方法 –

回答

0

我想你需要閱讀本頁: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_; 
    })); 

希望這有助於;)

+0

我會試試看!感謝您的快速回復!來自阿根廷的問候! –