Khi thử nghiệm .js
tệp có nhập khẩu Webpack CSS như import './style.css'
, Mocha ném lỗi cú pháp (vì nó cố nhập và phân tích cú pháp tệp CSS dưới dạng JS). Có một giải pháp cho that has already been posted on Stack Overflow này, nhưng nó chỉ giải quyết nếu bạn chưa sử dụng trình biên dịch với Mocha. Tôi đang sử dụng Babel 5. Tôi đã thử những điều sau đây, nhưng có vẻ như Mocha không hỗ trợ chuyển nhiều trình biên dịch:Xử lý nhập WebPack CSS khi thử nghiệm với Mocha và Babel
// npm test script
mocha ./src/**/*Test.js --compilers css:./scripts/mocha-webpack-compiler.js js:babel/register
// scripts/mocha-webpack-compiler.js
function noop() {
return null;
}
require.extensions['.css'] = noop;
Có cách nào để có nhiều trình biên dịch Mocha hay không hay hơn Mocha không cố gắng phân tích cú pháp nhập khẩu Webpack CSS?
EDIT:
Tôi thích giải pháp được đề xuất bởi @Giles B dưới đây; đó là chính xác những gì tôi cần. Tuy nhiên, kể từ khi tôi vẫn còn trên Babel 5 Tôi cần một vài điều chỉnh như hình dưới đây:
mocha.opts
--require scripts/support/babelhook
--require scripts/support/mocha-webpack-compiler
scripts/babelhook.js
require('babel/register');
scripts/mocha-webpack- compiler.js
function noop() {
return null;
}
require.extensions['.css'] = noop;
mocha kịch bản
mocha ./src/**/*Test.js
Tính năng này hoạt động với tôi bằng cách sử dụng babel
và babel-core
, cả hai phiên bản 5.8.23
.
Cảm ơn bạn - điều này có vẻ chính xác những gì tôi cần. Tuy nhiên, nó không làm việc cho tôi: Tôi nhận được một "SyntaxError: nhập khẩu mã thông báo bất ngờ"; bạn đang sử dụng các mô-đun ES6?Btw, tôi vẫn còn trên Babel 5 (babel 6 có quá nhiều vấn đề hiện tại). Câu hỏi SO có liên quan: http://stackoverflow.com/questions/20049790/how-to-pass-compiler-options-to-mocha – trevordmiller
Tôi đã cập nhật câu hỏi của mình với mã được cập nhật – trevordmiller
Tôi cũng đã thêm tiền thưởng 100 danh tiếng nếu bạn hoặc bất kỳ ai khác có thể giúp tôi làm việc này – trevordmiller