我有一个Node Js服务器,我和webpack捆绑在一起,配置如下:
module.exports = {
entry: './build/index.js',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist'),
devtoolModuleFilenameTemplate: '../[resource-path]',
},
target: 'node',
node: {
__dirname: true,
},
externals: {
kcors: 'kcors',
'koa-bodyparser': 'koa-bodyparser'
},
module: {
rules: [
{
test: /\.js$/,
use: ["source-map-loader"],
enforce: "pre"
},
],
},
resolve: {
extensions: ['.js'],
},
// plugins: [
// new webpack.DefinePlugin({
// "process.env": JSON.stringify(dotenv.parsed)
// }),
// ],
devtool: 'eval-source-map'
};这在dist中创建了单个文件main.js
到目前为止一切看起来都很好。我手动测试了服务器,它工作正常。
现在,在使用webpack之前,我有一组单元测试,我在我的entry文件夹( build/文件夹)中以.spec.js后缀命名它们,并且每个.js文件都有自己的.spec文件兄弟文件,位于.js的同一目录中。
为了运行这些单元测试,我使用了mocha和命令:mocha build/**/*.spec.js --recursive --timeout 20000
由于我对webpack和捆绑概念不熟悉,如何从main.js文件运行相同的测试呢?我希望确保所有测试仍然在捆绑的文件中传递
发布于 2020-12-02 08:41:49
使用
npm install mocha mocha-loader 配置webpack.config.js文件,如下所示:
module.exports = {
entry: './entry.js',
output: {
path: __dirname,
filename: 'bundle.js',
},
module: {
rules: [
{
test: /test\.js$/,
use: 'mocha-loader',
exclude: /node_modules/,
},
],
},
};然后,从你的主文件中调用你的测试文件,比如:(进入app.js)
import test from 'allMyTests';https://stackoverflow.com/questions/61993856
复制相似问题