使用jest进行javascript单元测试:如何模拟异步调用

问题描述 投票:0回答:1

我是TypeScript的新手,之前曾在Java上工作过。我正在寻找相当于TypeScript的java junit(Mockito)。在每个测试的junit中,我们可以定义依赖行为并根据测试用例需求返回响应。还有类似的方式可用于开玩笑吗?我可以简单地定义。当(dependencyFunction()),然后(mockResponse1)。

并且在不同的测试时(依赖Function())。then(mockResponse 2);

这是我的typescript类的样子:

class ABC {
   static fun1(){
       const xyz = await dependency();
       return xyz === 'DONE';
   }
}

在这里,我想编写测试用例,在其中我可以在每个测试用例中定义模拟响应。

javascript unit-testing typescript jest
1个回答
1
投票

documentation你可以使用模拟函数,并使用mockReturnValueOncemockReturnValue作为你的回答

const myMock = jest.fn();

myMock
  .mockReturnValueOnce(10) // set the response once
  .mockReturnValueOnce('x')
  .mockReturnValue(true); // set a persistent response 

console.log(myMock(), myMock(), myMock(), myMock());
// > 10, 'x', true, true
© www.soinside.com 2019 - 2024. All rights reserved.