Ace*_*ami 7 javascript automated-tests jestjs
我希望能够检查我的 Jest 测试是成功还是失败。关于这个主题还有另一个 SO 问题,但解决方案使用 Jasmine,有点 hacky,并且绝不保证继续与 Jasmine 或 Jest 的未来版本一起使用。我正在寻找解决这个问题的方法,它不会像 Jasmine 那样依赖于很大的依赖项。
您可以通过在测试套件中创建标志来跟踪测试状态。
解释。
testStatus在 和 两个计数器变量中创建一个标志(如果您想获取和测试用例describe block的计数)。并将标志的初始值设置为。FailedpassedtestStatusfalse
describe("Should count the test", () => {
let testStatus = false;
let passTests = 0;
let failedTest = 0;
//.... test cases
});
Run Code Online (Sandbox Code Playgroud)
并在每个测试用例的末尾将 的值设置flag testStatus为true。
it("Should fail/Pass", () => {
expect(false).toBe(true);
testStatus = true;
});
Run Code Online (Sandbox Code Playgroud)
expect仅当测试用例成功执行时才会运行后面的行,否则该flag值将保留false。
现在afterEach我们可以检查flag值 ( testStatus) 是 true 还是 false。
如果值为 false 则测试用例失败,如果值为 则true表示测试用例执行成功。
并将后面的值重置flag (testStatus)为false。
afterEach(() => {
if (testStatus) {
passTests += 1;
} else {
failedTest += 1;
}
testStatus = false;
});
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助。
活生生的例子。
| 归档时间: |
|
| 查看次数: |
1828 次 |
| 最近记录: |