如何使用TypeScript和Jest模拟深度嵌套的函数

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

我想测试我的模块并模拟axios外部依赖关系。问题是我直接测试的方法没有(直接)导入axios。它宁可“隐藏”在中间调用的后面。

类似,A和B是我的自定义模块:A调用B,B使用axios因此,A不导入axios,仅导入B。

由于B是axios周围非常薄的一层,所以我不想直接对其进行测试。我宁愿只测试A,并模拟axios。

如何执行此操作?如果我有一个自定义模块C,而不是axios,它有什么不同吗?

我想测试我的模块并模拟axios外部依赖关系。问题是我直接测试的方法没有(直接)导入axios。它宁可“隐藏”在中间调用的后面。 ...

typescript mocking jest
1个回答
0
投票

是的,您可以模拟模块-参见https://jestjs.io/docs/en/manual-mocks。要模拟axios,只需使用jest.mock('axios'),那么从“ axios”导入的任何内容都将是模拟(您可以通过标准的Jest模拟API对其进行配置)。只需注意,它将在整个测试用例中被模拟,因此例如如果您使用axios测试使用其他两个模块的模块,则不能仅为其中一个模拟axios。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.