2014-05-03 25 views
6

Tôi có câu hỏi về việc sử dụng hoa nhài với Grunt. Tôi tiếp tục nhận được một lỗi,Tham chiếuLỗi: Không thể tìm thấy biến: yêu cầu tại

ReferenceError: Không thể tìm thấy biến: cần ít

bất cứ khi nào tôi chạy thử nghiệm hoa nhài của tôi. Đây là entry hoa nhài của tôi cho Gruntfile.js tôi:

jasmine: { 
     js: { 
     src: jsFiles, 
     options: { 
      specs: 'tests/*_spec.js', 
      helpers: 'tests/helpers/*', 
      vendor: 'vendor/*' 
     } 
     } 
    }, 

tôi có thể chạy một thử nghiệm giả mà không có một yêu cầu tốt, nhưng khi tôi đưa yêu cầu trong một thử nghiệm, như vậy, tôi nhận được yêu cầu báo lỗi.

var testD = require('../src/events_to_actions'); 

describe("events_to_actions", function() { 
    it("is dummy test", function() { 
    expect(true).toEqual(true); 
    }); 
}); 

Trả lời

7

Tôi đã gặp vấn đề tương tự. Chỉ cần cài đặt gói nút này và thêm dòng này vào Gruntfile của bạn và yêu cầu nên bắt đầu làm việc trở lại.

https://github.com/cloudchen/grunt-template-jasmine-requirejs

jasmine: { 
     js: { 
     src: jsFiles, 
     options: { 
      specs: 'tests/*_spec.js', 
      helpers: 'tests/helpers/*', 
      vendor: 'vendor/*', 
      template: require('grunt-template-jasmine-requirejs') 
     } 
     } 
    }, 
+0

điều này không thực sự hiệu quả vì yêu cầu js có tuyên bố yêu cầu khác với câu lệnh được đưa ra trong ví dụ ở trên. – denodster

4

Các giải pháp mà @ user3741597 được gợi ý có thể làm việc, nhưng nó là một chút của một giải pháp ngược.

"grunt-template-jasmine-requirejs" được viết cho RequireJS, bộ nạp AMD. Mặt khác, bạn đang sử dụng cú pháp CommonJS. Nếu bạn muốn tiếp tục sử dụng "grunt-contrib-jasmine", thì bạn cần tìm một mẫu CommonJS hoặc sử dụng thông tin Jasmine has node support built-in và thực hiện một cách tiếp cận khác.

This post cũng có thể trợ giúp.

0

hàng đầu trên ra khỏi dung dịch bằng @ justin-đạo diễn, có một mẫu mà cho phép bạn sử dụng đòi hỏi các cuộc gọi (CommonJS cú pháp) với grunt-contrib-hoa nhài:

https://www.npmjs.com/package/grunt-template-jasmine-nml

Một ví dụ cấu hình grunt bằng cách sử dụng:

jasmine: { 
    options: { 
     template: require('grunt-template-jasmine-nml'), 
     helpers: 'spec/helpers/**/*.js', 
     specs: 'spec/**/*.spec.js' 
    } 
} 
Các vấn đề liên quan