2013-03-27 33 views
21

Khi tôi chạy tệp HTML SpecRunner, tôi nhận được lỗi này.Tham chiếuLỗi: không được xác định

Nhìn xung quanh, điều này là do angular-mocks.js không được tham chiếu. Trong trường hợp của tôi nó đang được tham chiếu.

SpecRunner.html:

<link rel="stylesheet" type="text/css" href="lib/jasmine-1.3.1/jasmine.css"> 
    <script type="text/javascript" src="lib/jasmine-1.3.1/jasmine.js"></script> 
    <script type="text/javascript" src="lib/jasmine-1.3.1/jasmine-html.js"></script> 
    <script type="text/javascript" src="lib/angular-mocks.js"></script> 

    <!-- include source files here... --> 
    <script type="text/javascript" src="../main/static/js/controllers/norm-definitions-controller.js"></script> 

Khi các thử nghiệm được chạy, tôi nhận được ngoại lệ này: ReferenceError: inject is not defined

Tôi có thể thấy rằng angular-mocks.js được tham chiếu và nó không phải là một vấn đề bộ nhớ đệm như tôi có thể nhìn thấy nó sử dụng Firebug.

Nhìn vào angular-mocks.js Tôi có thể xem toàn bộ tài liệu tham khảo angular.mock.inject = function() { ... }, tôi cũng đã thử điều này làm tham chiếu và nhận ngoại lệ ReferenceError: angular is not defined.

+1

Đảm bảo bạn không có phụ thuộc vào tập lệnh. –

Trả lời

25

Bạn vẫn cần angular.js lib. Tôi đã không nhìn thấy nó trong số các kịch bản của bạn. Nó phải ở trước angular-mock.js.

1

Đối với các lỗi mà đến khi thêm nghiệp chướng và hoa nhài để thử nghiệm dự án của bạn, hãy chắc chắn rằng

  • angular.js của bạn và góc-mocks js file cả hai đều có cùng một phiên bản.
  • phiên bản hoa nhài tương thích với phiên bản angularjs, tham khảo trang web chính thức của hoa nhài để đảm bảo không có lỗi cú pháp.
  • tham khảo hình thành thử nghiệm trên trang web chính thức của js góc để làm theo các phương pháp thử nghiệm đơn vị.

Các bước trên giúp tránh hầu hết các lỗi phổ biến.

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