gpt4 book ai didi

mocha.js - 当您没有单一的测试入口点时,如何使用 webpack 运行 mocha 测试?

转载 作者:行者123 更新时间:2023-12-01 20:05:35 25 4
gpt4 key购买 nike

我正在尝试将项目从 browserify+mochify 转换为 webpack

webpack docs演示如何使用 mocha-loaderwebpack-dev-server 一起运行测试,但假定测试有一个入口点。

所有现有测试都是使用 mochify 设计的请记住,它不需要单个入口点,因为它递归地捆绑了 ./test/*.js

最佳答案

下面的设置有点适合我。它仍然使用 mochify 来运行测试(因为它具有所有 phantomjs 接口(interface)),但不依赖于 browserify 中的任何内容。如果您运行 webpack --watch,它会在文件更改时重新运行所有测试。

webpack.config.js:

var path = require("path");
var child_process = require('child_process');

module.exports = {
entry: {
tests: "./tests.js"
},
output: {
filename: "tests.js", // Should be a unique name
path: "/tmp"
},
plugins: [
// Automatically run all tests when webpack is done
function () {
this.plugin("done", function (stats) {
child_process.execSync('mochify /tmp/tests.js', { stdio: 'inherit'});
});
}
],
};

tests.js:

// List all test dirs here if you have multiple
var contexts = [
require.context('./dir1/test', true, /\.js$/),
require.context('./dir2/test', true, /\.js$/)
];
contexts.forEach(function (context) {
context.keys().forEach(context);
});

此处描述了另一种方法:https://stackoverflow.com/a/32386750/675011

关于mocha.js - 当您没有单一的测试入口点时,如何使用 webpack 运行 mocha 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32895006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com