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。