2015-12-03 28 views
18

Tôi đang sử dụng lệnh:lệnh mocha cho ReferenceError: cửa sổ không được định nghĩa

mocha --compilers :./test/babel-setup.js --recursive --watch 

Nó được đưa ra lỗi:

ReferenceError: window is not defined 

Tôi có sau đây trong tôi babel-setup.js:

require("babel/register")({ 
    compact: false 
}); 

Tôi đang sử dụng nút 0.12.7 và "mocha": "^ 2.2.5" và "jsdom": "^ 3.1.2".

Tôi đã có jsdom được cài đặt với dự án.

Điều gì gây ra lỗi?

+0

nội dung trong tệp "babel/register" là gì? –

+0

trông giống như nó có hỗ trợ jsx – jit

Trả lời

2

Để kiểm tra thư viện frontend với mocha bạn cần nút modul mocha-jsdom bạn tìm thấy nó ở đây: https://www.npmjs.com/package/mocha-jsdom

+0

tôi nhìn vào gói đó nó không hỗ trợ nút 0.12.7 và yêu cầu io.js – jit

+0

oh, tôi xin lỗi vì điều đó. Chúng tôi sử dụng Node 4.0.0. Bản cập nhật không được xem xét cho bạn? – Henry31

+0

thực sự nó không được chấp nhận –

45

tôi đã có thể sử dụng jsdom-global để khắc phục vấn đề này. Làm theo các hướng dẫn trong liên kết đó để cài đặt. Cụ thể, hãy chạy

npm install --save-dev --save-exact jsdom jsdom-global 

sau đó thêm -r jsdom-global/register vào dòng lệnh mocha của bạn. Khi bạn chạy lại các thử nghiệm của mình, lỗi window is not defined sẽ biến mất.

+3

nên được đánh dấu là câu trả lời, hoạt động như một nét duyên dáng, cảm ơn :) –

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