2013-03-27 16 views
15

Tôi có tiểu địa chủ-góc thiết lập với các ứng dụng sau:Testing góc Dịch vụ cho lỗi: Không có mô-đun: ngResource

angular.module('myApp', ['ngResource','ui.bootstrap']) 
    .config(['$routeProvider', function ($routeProvider) { 
     $routeProvider 
     ... 
    }]); 

và dịch vụ:

angular.module('myApp') 
    .factory('UserSvc', [function() { 
     return { 
      name : '', 
      topicOrder: 'lec_type', 
     }; 
    }]); 

và kiểm tra sau:

describe('Service: UserSvc', function() { 

    beforeEach(module('mfApp')); 

    var UserSvc; 
    beforeEach(inject(function(_UserSvc_) { 
    UserSvc = _UserSvc_; 
    })); 

    it('should do something', function() { 
    expect(UserSvc.topicOrder).toEqual('lec_type'); 
    }); 

}); 

Tôi đã cố gắng hết sức mình để tiêm $ tài nguyên vào thử nghiệm (mặc dù bản thân chính nó không bị từ chối trên ngResource), nhưng khi tôi chạy thử nghiệm, tôi nhận được lỗi này

Error: No module: ngResource 

nếu tôi loại bỏ sự phụ thuộc từ các mô-đun chính nó,

angular.module('myApp', []) 

sau đó các cuộc thử nghiệm chạy thành công

tôi đã thực sự cố gắng tất cả mọi thứ nhưng không

Trả lời

45

trong tệp testacular.conf.js/karma.conf.js của bạn bao gồm angular-resource.js; ví dụ.

files = [ 
    JASMINE, 
    JASMINE_ADAPTER, 
    'app/vendor/angular/angular.js', 
    'app/vendor/angular/angular-*.js', 
+1

Cảm ơn rất nhiều. Tôi đã dành hàng giờ cho việc này, nhưng tôi mới đến với AngularJS. Tôi đoán tôi cần phải đọc thêm. Ngoài ra, không có nhiều tài liệu về kiểm tra và làm việc với Karma/Testacular. Có thể đề xuất một số tài nguyên để thử nghiệm. Cảm ơn – qais

+1

Đây là vấn đề tương tự mà tôi gặp phải. Hãy chắc chắn rằng sau khi bao gồm thành phần mới của bạn trong tệp testacular.conf.js/karma.conf.js mà bạn nhớ khởi động lại phiên Testacular/Karma – Stewie

+0

Trợ giúp tuyệt vời của bạn. Đường dẫn thiết lập của tôi trông giống như thế này, FYI: 'app/bower_components/angular-ui/build/angular-ui.js'. – chug2k

3

Sau bao gồm thành phần mới của bạn, hãy nhớ restart phiên Testacular/Karma của bạn.

Các vấn đề liên quan