我想知道如果我所有的测试文件都通过了mocha,是否有可能执行一些东西。下面:是我的index.js文件,它是由mocha运行的(为了得到我想要的顺序)
require('dotenv').config();
const logger = require('../toolkits/logger');
//silent mode for testing
logger.transports.forEach((t) => (t.silent = true));
require("./broker.test");
require("./mongo.test");
require("./auth.test");
require("./meal.test");
require("./bowl.test");
如果测试通过了,我想要process.exit(0)
(将其集成到gitlab CI中)。
我成功地检查了一个测试是否没有通过,方法是:
afterEach(function(){
if (this.currentTest.state === "failed")
process.exit(1);
})
但我无法检测是否所有测试都通过了。我不能在要求所有测试之后只执行process.exit(0)
,因为其中一些测试是异步的。你知道我该怎么做吗
!更新!
我发现在npm中运行mocha时可以传递--exit参数:mocha file --exit
1条答案
按热度按时间xzabzqsa1#
这就是我如何使用
Cypress
(构建在Mocha
之上)来实现这一点。我相信这对你来说都是可行的,除了cy.state('runnable')
--如果你不使用Cypress,你可能需要一种不同的方法来让mocha运行。