1
我正在运行测试,因此测试并不总是打到API。然而,我也想添加一个条件,以便我可以使用相同的测试来测试API。有条件地运行测试(有或没有模拟客户端)
但是当我添加一个条件时,它会忽略它,并且不管这个条件是真还是假都不应用模拟。
import config from 'config';
if(!config.test.useNetwork) {
jest.mock('api/companies');
jest.mock('api/articles');
}
import { searchCompany } from 'api/companies';
...
两个问题:
- 任何想法如何添加有条件的嘲笑?我认为嘲笑从来没有申请,因为
jest.mock
可能需要在任何进口之前被调用? - 通过网络进行测试的惯例是什么?如果我只是使用模拟,我真的只是测试模拟,而不是网络请求代码。但是,如果我不使用嘲笑,我不必要地击中API。