考虑一个茉莉花测试文件
throw new Error("error");
describe("simple suite", function () {
it("simple test", function () {
var result = "";
expect(result).toBe("1");
});
});
这个javascript文件
var Jasmine = require('jasmine');
var jasmine = new Jasmine();
try {
jasmine.execute("./simple_test.js");
}
catch (e) {
process.exit(1);
}
运行命令node main.js
并使用echo $?
检查退出代码我不断获取退出代码4而不是退出代码1.
这个退出代码很重要,因为我通过我的程序生成一个节点进程,我需要在这种情况下通过我的脚本控制退出代码。
答案 0 :(得分:0)
在我调试
时遇到jasmine.js
中的这段代码时解决了我自己的问题
var checkExit = function(jasmineRunner) {
return function() {
if (!jasmineRunner.completionReporter.isComplete()) {
process.exitCode = 4;
}
};
};
Jasmine.prototype.execute = function(files, filterString) {
process.on('exit', this.checkExit);
由于spec文件无效且jasmine从未遇到任何测试套件或测试方法要执行,因此强制进程退出代码4