0
我想創建沿着這些準則可測試前端項目:噶+咖啡色+ Browserify + ES6測試棧設置問題
- 陣營組件架構,在每個組件文件夾
__test__
文件夾; - 測試使用ES6模塊;
- browserify將所有內容都捆綁成一個文件,而babelify transpiles ES6;
- karma使用該包進行測試。
這是我karma.conf.js
:
module.exports = function (karma) {
const testFiles = __dirname + '/proj/static/src/**/__tests__/*.js';
karma.set({
frameworks: ['browserify', 'mocha'],
browsers: ['Chrome'],
files: [
testFiles
],
logLevel: 'LOG_DEBUG',
preprocessors: {
testFiles: ['browserify'],
},
reporters: ['dots'],
singleRun: true,
browserify: {
debug: true,
transform: [ 'babelify' ]
},
});
};
這是我.babelrc
{
presets: ['es2015', 'react']
}
然而,發射業報後,我得到這個錯誤:
...
Uncaught SyntaxError: Unexpected token import
at proj/static/src/js/some-component/__tests__/some.test.js:1
顯然代碼沒有得到轉譯。我讀過多個教程,都使用不同的技術。任何想法如何解決這個問題?
P.S. TDD在前端還是很新鮮的。
編輯 這些是安裝NPM依賴性:
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"babelify": "^7.3.0",
"browserify": "^13.1.1",
"expect": "^1.20.2",
"karma": "^1.3.0",
"karma-browserify": "^5.1.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-mocha": "^1.3.0",
"mocha": "^3.1.2",
"reactify": "^1.1.1",
"watchify": "^3.7.0"
配置的改變似乎解決了這個問題。但是現在在'./node_modules/.bin/karma start'之後,我從browserify得到了一堆類似於'[framework.browserify]:bundle error的錯誤:無法從'D:\'中找到模塊'./runnable'。凸出\ node_modules \ mocha''。 然而,摩卡是本地安裝的。並且存在給定路徑的模塊。 – Crossfire