我试图创建一个基本的CI CD管道,我试图创建批处理文件来运行测试,然后执行docker构建。这是我的基本批处理文件
@ECHO OFF
call npm run test
call docker build -t my-docker-file .
PAUSE
我如何才能知道是否所有测试都成功运行?我用的是摩卡和柴
首先,您需要使用--exit
标志来执行测试。我的包.json看起来像这样:
"test": "mocha test --timeout 4000 --exit"
因此,当测试结束时,控制台不会一直打开。
然后,这个想法是在批处理和节点之间创建一个通信。我用过bash,但想法是一样的。
如果测试已经通过,基本上是写入.env文件,执行后检查变量是否设置为true。
首先,要做到这一点,您需要用它更新test.js
文件。
我使用envfile
。你可以查看这个问题
//get the reference to your environment file and update
//THIS is you have to add
afterEach(function () {
const state = this.currentTest.state;
if (state !== "passed") {
//write into .env: MYENVVAR=0
}
});
然后,您将在.env
文件中放入一个变量,以了解测试是否正确执行。
因此,下一步是读取批处理过程中的值,如果可以,则继续