Mocha/Chai 测试 returns 错误消息,我找不到测试它的方法

Mocha/Chai test returns error message and I couldnt find a way to test it

标题说明了一切,它 returns 这样的消息 错误:开始日期是必填字段 我尝试使用 equal, instanceof.

describe('filter', () => {
      it('needs to return a startDate required message', async () => {
          let dto = {
            'endDate': '2000-02-02',
          };
          let result = await service.filter(dto);
          expect(result).to.throw();
        };
      });

这里的问题是你没有测试错误。

想一想:当您执行 expect(result).to.throw(); 时,错误已被抛出。

另外 result 没有抛出任何错误。

所以你可以测试调用函数时抛出的错误。

您可以使用 chai as promised 以这种方式完成:

service.filter(dto).should.be.rejected;

此外,我已经使用以下代码测试了您的方法:

describe('Test', () => {
  it('Test1', async () => {
    //Only this line pass the test
    thisFunctionThrowAnError().should.be.rejected;
    //This not pass
    let result = await thisFunctionThrowAnError();
    expect(result).to.throw();
  });
});

async function thisFunctionThrowAnError(){
  throw new Error("Can mocha get this error?")
}