我必须测试这个组件,但我对如何测试它感到困惑。当我们创建它的实例时如何传递参数。我可以在这里使用 axios-mock-adapter 吗?我在我的项目中使用了这个组件。我是第一次反应测试和使用 axios 的新手。有人可以帮我吗???
这是我的 ApiClient 组件:
@Qualifier
答案 0 :(得分:0)
是的,您可以使用 axios-mock-adapter 来模拟 axios 调用。
如果你使用的是 axios 默认实例,它很容易使用:
var axios = require("axios");
var MockAdapter = require("axios-mock-adapter");
// This sets the mock adapter on the default instance
var mock = new MockAdapter(axios);
既然你创建了自己的 axios 实例,你就可以
ApiClient
时将其作为依赖项传递MockAdapter
实例describe('ApiClass', () => {
const axiosClient = axios.create(yourConfig);
const axiosMock = new MockAdapter(axiosClient);
const apiClient = new ApiClient(axiosClient);
it('fetches this and that', () => {
// ...
})
})
我建议看看Mock Service Worker (MSW)。它在网络级别拦截请求并使用模拟数据响应 http 请求。 这可能会增加一些开销,但它
这个article很好地解释了它。