Jasmine 戏谑无声地忽略错误

Jasmine 戏谑无声地忽略错误,jasmine,jestjs,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?', () => { som

给定以下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尽可能大声地失败?在每次之前将其放入
中不会改变任何东西。

这在0.9.3 jest cli中已修复


由于某种原因,它再次被取消发布(我在几分钟前安装了它)。所以不管怎样,扔绳子现在被抓住了。无论如何,你不应该抛出字符串,多亏了我的测试套件,我找到了最后一个仍然抛出字符串的地方…

如果你把
忽略了怎么办?
它放在第一个
描述
块中-它会改变什么吗?ThanksIt将运行测试,直到抛出异常为止。因此,将测试移动到第一个块将使其运行<代码>它
在失败的一个也被执行后阻塞。虽然没有仔细查看,但似乎与相关。谢谢@robertklep,我所描述的实际上是一个bug。看看我的答案。