首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何和webpack一起进行单元测试?

如何和webpack一起进行单元测试?
EN

Stack Overflow用户
提问于 2020-05-25 07:55:36
回答 1查看 1.9K关注 0票数 2

我有一个Node Js服务器,我和webpack捆绑在一起,配置如下:

代码语言:javascript
复制
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文件运行相同的测试呢?我希望确保所有测试仍然在捆绑的文件中传递

EN

回答 1

Stack Overflow用户

发布于 2020-12-02 08:41:49

使用

代码语言:javascript
复制
npm install mocha mocha-loader 

配置webpack.config.js文件,如下所示:

代码语言:javascript
复制
module.exports = {
entry: './entry.js',
output: {
 path: __dirname,
 filename: 'bundle.js',
},
module: {
 rules: [
   {
     test: /test\.js$/,
     use: 'mocha-loader',
     exclude: /node_modules/,
   },
 ],
},
};

然后,从你的主文件中调用你的测试文件,比如:(进入app.js)

代码语言:javascript
复制
import test from 'allMyTests';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61993856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档