在玩笑测试中使用Expect.assertions(x)与使用fail()

时间:2019-01-17 06:50:18

标签: javascript node.js typescript jestjs

我正在设置一些异步junit打字稿测试,看来我对文档的理解不正确。

我编写了一个测试,通过发送图像的ID向Web API询问特定的svg图像。

该测试未发送任何ID,因此Web API应该返回http代码404。此测试很有效:

test("getSvgByImageId unknown", () => {
    expect.assertions(1);

    return client.getSvgImageById("")
    .then(svg => {
        fail("API should return error")
    })
    .catch(error => {
        expect(error.status).toBe(404);
    })
});

但是,当我使用fail()方法时,为什么还要使用Expect.assertions(x)?该测试也可以在没有Expect.assertions(x)行的情况下使用。

1 个答案:

答案 0 :(得分:0)

Jest合作者从this post参考全局fail()函数:

  

这将在某些时候停止工作-它不是Jest记录的API的一部分。

Jest基于Jasmine,而fail()是来自Jasmine的遗留物。

它不是Jest文档的正式组成部分,因此不应使用,因为它可能会从将来的Jest版本中删除。