如果在 Chai 中调用函数,如何 assert/expect
How to assert/expect if a function is called in Chai
我有一个像下面这样的函数需要用 chai 进行测试
export class GroupMessage {
public async createTenant(): Promise<void> {
const groupCreator = [];
groupCreator.push(ServiceWrapper.Create(project));
await Promise.all(groupCreator);
}
}
为了测试这个,我有下面的测试用例
it('createTenantshould return create tenant', async () => {
sandbox.stub(ServiceWrapper, 'Create');
const groupNtmMessage = new GroupMessage();
GroupMessage.createTenant();
expect(ServiceWrapper, 'Create').to.have.been.called;
});
使用上面的代码我得到以下错误
Error: Invalid Chai property: called. Did you mean "all"?
我们可以通过任何方式对此进行测试,我已经查看了 chai 文档,但没有找到任何东西
我找到了这个问题的答案。 sinon.assert 可以像下面这样使用
而不是 expect
sinon.assert.calledWith(ServiceWrapper.Create, 'test-project');
我有一个像下面这样的函数需要用 chai 进行测试
export class GroupMessage {
public async createTenant(): Promise<void> {
const groupCreator = [];
groupCreator.push(ServiceWrapper.Create(project));
await Promise.all(groupCreator);
}
}
为了测试这个,我有下面的测试用例
it('createTenantshould return create tenant', async () => {
sandbox.stub(ServiceWrapper, 'Create');
const groupNtmMessage = new GroupMessage();
GroupMessage.createTenant();
expect(ServiceWrapper, 'Create').to.have.been.called;
});
使用上面的代码我得到以下错误
Error: Invalid Chai property: called. Did you mean "all"?
我们可以通过任何方式对此进行测试,我已经查看了 chai 文档,但没有找到任何东西
我找到了这个问题的答案。 sinon.assert 可以像下面这样使用
而不是 expect
sinon.assert.calledWith(ServiceWrapper.Create, 'test-project');