Jest中断言assertion的理解

前言:最近在看Jest官方文档的时候,对assertion的理解不够透彻,和大佬们讨论之后得出自己的一些感悟,特此记录一下!

1784460-8b7a0ad2b0344a48.png

这段话的理解是如果你指定断言的话,那么有可能Promise执行了reject,而没有执行指定的所需要的期待,但是也不会报错,这个时候我们就会漏测了一些点。

比如代码如下:

function fetchData1 () {
  return new Promise(function(resolve, reject) {
    setTimeout(reject('peanut butter'), 1000);
  });
}


test('the data is peanut butter', () => {
  // expect.assertions(1);
  return fetchData1().then(data => {
    expect(data).toBe('peanut butter11');
  }, (err) => {
    console.log(err)
  });
});

这个时候是不会报错的,而我们希望它能够报错进行提醒。

如果我们指定了断言的次数之后,如果没有出现这么多个断言的时候,就会报错。

1784460-af8043a7676a0d54.png
展开阅读全文

没有更多推荐了,返回首页