Typescript 期望调用某个函数
我有一个Typescript 期望调用某个函数,typescript,jestjs,Typescript,Jestjs,我有一个onChange侦听器,我想确保该侦听器被调用 我确实有一些代码可以工作,但看起来很奇怪 test('删除时应调用更改时',async()=>{ 期望.断言(1); someTestThing.onChange.sub(()=>expect(true).toBe(true)); 等待测试。删除(测试ID); }); 我指的是expect(true).toBe(true)部分似乎不正确 编辑: 我想我也可以这样做,这看起来有点合理,实际上我很喜欢: test('删除时应调用更改时',as
onChange
侦听器,我想确保该侦听器被调用
我确实有一些代码可以工作,但看起来很奇怪
test('删除时应调用更改时',async()=>{
期望.断言(1);
someTestThing.onChange.sub(()=>expect(true).toBe(true));
等待测试。删除(测试ID);
});
我指的是expect(true).toBe(true)
部分似乎不正确
编辑:
我想我也可以这样做,这看起来有点合理,实际上我很喜欢:
test('删除时应调用更改时',async()=>{
const cb=jest.fn();
someTestThing.onChange.sub(cb);
等待测试。删除(测试ID);
expect(cb.mock.calls.length).toBe(1);
});
使用Jest的进行调用
断言
const someTestThing = {
onChange: (event: Event) => console.log(event),
delete: async (id: string) => console.log(id)
}
it('on change should be invoked when deleting', async () => {
const mock = jest.fn(someTestThing.onChange);
mock(new CustomEvent('Foo'));
await someTestThing.delete('1')
expect(mock).toHaveBeenCalled();
})
使用Jest的
来调用断言
const someTestThing = {
onChange: (event: Event) => console.log(event),
delete: async (id: string) => console.log(id)
}
it('on change should be invoked when deleting', async () => {
const mock = jest.fn(someTestThing.onChange);
mock(new CustomEvent('Foo'));
await someTestThing.delete('1')
expect(mock).toHaveBeenCalled();
})
我的意思是我知道你在说什么,但是你在这里手动调用bock,当然它会被调用。我的意思是我知道你在说什么,但是你在这里手动调用bock,当然它会被调用。