异步笑话断言不会通过测试,但是断言错误会在测试输出中显示

时间:2018-10-27 15:45:22

标签: typescript jestjs

我有一个提供程序对象,该对象返回一个承诺。我正在尝试为此提供程序对象创建有趣的单元测试。

这是一个示例测试:

df = df.iloc[[0:yEnd-1],[:]]

我现在在提供程序类中使用空白数组来解决promise(即,我希望测试失败):

  it('Should return repos for a known account', (done) => {
    expect.assertions(1);
    expect(apiProvider.ReposForUser('joon').then((data) => data.length)).resolves.toBeGreaterThan(0).then(done());
  });

当我运行笑话脚本时,我在输出文本中看到一个失败的Promise错误,但测试显示已通过: enter image description here

我在测试中使用了完成的回调,为什么开玩笑不等待回调?

1 个答案:

答案 0 :(得分:0)

找出问题所在。我当时在then方法中调用完函数,而不是传递对完方法的引用。

代码现在看起来像这样:[“ done”而不是“ done()”]:

it('Should return repos for a known account', (done) => {
    expect.assertions(1);
    expect(apiProvider.ReposForUser('joon').then((data) => data.length)).resolves.toBeGreaterThan(0).then(done);
  });