Jest默默地忽略了错误

时间:2016-03-29 17:12:20

标签: jasmine jestjs

鉴于以下test.js

var someCriticalFunction = function() {
    throw 'up';
};

describe('test 1', () => {
    it('is true', () => {
        expect(true).toBe(true);
    })
});

describe('test 2', () => {
    it('is ignored?', () => {
        someCriticalFunction();
        expect(true).toBe(false);
    })
});

运行Jest将输出

Using Jest CLI v0.9.2, jasmine2
 PASS  __tests__/test.js (0.037s)
1 test passed (1 total in 1 test suite, run time 0.795s)

这几乎给你的印象一切都很棒。那么在测试时如何防止自己拍脚?我只花了一个小时写测试,现在我想知道它们中有多少实际运行?因为我肯定不会统计所有这些并与报告中的数字进行比较。

当作为测试套件的一部分而不是测试本身(如准备代码)抛出错误时,有没有办法让Jest尽可能大声地失败?将其放在beforeEach内并不会改变任何内容。

1 个答案:

答案 0 :(得分:0)

这已在0.9.3 jest-cli https://github.com/facebook/jest/pull/812

中修复

由于某种原因再次未发布(我在几分钟前安装了它)。所以无论如何,扔掉字符串现在被抓住了。你永远不应该抛出字符串,多亏了我的测试套件,我找到了最后一个地方,我还是扔了字符串......