gpt4 book ai didi

node.js - 咕噜声 : Running multiple mocha tests with different environments/processes

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:55 29 4
gpt4 key购买 nike

我想在不同的环境和数据库上运行多个 Mocha 测试。

暂定是创建两个单独的 grunt 配置:

grunt.initConfig({
// first one
mochaTest: {
options: { ... },
src: ['test/server/*.js']
},
// second one
mochaTest: {
options: { ... },
src: ['test/slave/*.js']
},
env: {
dev: { NODE_ENV: 'development' },
test: { NODE_ENV: 'test' }
},
});

grunt.registerTask('test', function (target) {
if (target === 'server') {
return grunt.task.run([
'env:test',
'mochaTest' // the first one
]);
}
if (target === 'slave') {
return grunt.task.run([
'env:dev',
'mochaTest' // the second one
]);
}
grunt.task.run([
'test:server',
'test:slave'
]);
});

当然,两个配置同名是不行的。我尝试通过 mochaTest2 重命名第二个配置,但 grunt 无法识别它。

然后,我尝试将其放在同一个 mochaTest 任务中,但测试在相同的环境和进程中运行。

grunt.initConfig({
mochaTest: {
server: {
options: { ... },
src: ['test/server/*.js']
},
slave: {
options: { ... },
src: ['test/slave/*.js']
}
},
env: {
dev: { NODE_ENV: 'development' },
test: { NODE_ENV: 'test' }
},
});

grunt.registerTask('test', function (target) {
if (target === 'server') {
return grunt.task.run([
'env:test',
'mochaTest:server'
]);
}
if (target === 'slave') {
return grunt.task.run([
'env:dev',
'mochaTest:slave'
]);
}
grunt.task.run([
'test:server',
'test:slave'
]);
});

理想的解决方案应该在单独的进程中运行两个 mochaTest(一个用于服务器,另一个用于从属)。

最佳答案

这可能有点不正统,但您可以通过使用两个都能够运行 mocha 测试的单独插件来解决您所描述的无法调用“mochaTest”两次的问题。

安装:

npm install -save grunt-simple-mocha
npm install --save grunt-mocha-test

负载:

grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-simple-mocha');

配置:

mochaTest: {
test: {
src: ['test/*serverTests*.js']
}
},

simplemocha: {
options: {
ui: 'bdd'
},
all: { src: ['test/*slaveTests*'] }
}

注册任务:

grunt.registerTask('serverTests', ['mochaTest']);
grunt.registerTask('slaveTests', ['simplemocha']);
grunt.registerTask('allTests', ['mochaTest', 'simplemocha']);

执行:

grunt serverTests  // run just server tests
grunt slaveTests // run just slave tests
grunt allTests // run both server and slave tests

关于node.js - 咕噜声 : Running multiple mocha tests with different environments/processes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35297665/

29 4 0
文章推荐: node.js - 如何释放 NodeJS Q promise 链中的资源并返回 promise ?
文章推荐: html - 使用 CSS 在 HTML 中设置
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com