簡體   English   中英

如何將Mocha測試文件與Webpack流程集成?

[英]How integrate mocha test file with webpack process?

我有一個想為其編寫測試的JS類。 我安裝了摩卡咖啡。 在項目根目錄中創建了文件test.js 我現在可以像這樣在其中進行測試

var assert = require('assert');

describe('Arithmetic', function() {
    describe('Plus', function() {
        it('1 + 1 equals 2', function() {
        assert.equal(1+1, 2);
        });
    });
});

都好! 我不確定的是如何測試我的文件,因為它包含很多ES6內容。 例如,諸如import someDependency from 'resources/assets/js/someDependencyToMyClass';

我該如何做才能使mocha知道我的package.json / webpack進程? 還是應該只測試代碼的編譯版本?


我試圖自己設置一個測試類並在node上運行,但隨后我繞過了所有的babel內容,因此無法正常工作。 除了我的SPA(反應)之外,我還考慮過制作一個測試頁,但我不想弄亂實際的代碼。 你會怎么做?

另外,如有必要,這是我的項目package.json。

 { "private": true, "scripts": { "dev": "npm run development", "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "watch-poll": "npm run watch -- --watch-poll", "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", "prod": "npm run production", "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" }, "devDependencies": { "axios": "^0.17", "babel-preset-react": "^6.23.0", "cross-env": "^5.1", "jquery": "^3.2", "laravel-mix": "^1.0", "lodash": "^4.17.4", "mocha": "^5.0.0", "react": "^15.4.2", "react-dom": "^15.4.2", "testing": "^1.1.1" }, "dependencies": { "bootstrap": "^4.0.0", "popper.js": "^1.12.9", "react-redux": "^5.0.6", "redux": "^3.7.2" } } 

您可能想引入mocha-webpackhttps://github.com/zinserjan/mocha-webpack ),以便根據您的webpack配置預編譯代碼。 然后,您可以在package.json簡單地創建一個測試腳本,指向您的webpack配置,如下所示:

"scripts": { "test": "mocha-webpack --webpack-config=webpack.config.js tests/*.js" }

然后運行npm test將正確地預編譯您的代碼。 希望它為您指明了正確的方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM