![](/img/trans.png)
[英]Selenium JavaScript - How to set test id in Jest test cases
[英]How to set a global variable to true when running JEST test cases
在react應用中,我在fetch()中使用相對URL將API請求發送到服務器。 但是,這在瀏覽器中效果很好,但是當我運行單元測試用例(JEST)時,同構提取會引發錯誤,指出僅允許絕對URL。 有什么辦法可以解決這個錯誤? 我試圖包裝fetch()函數並使用它。 像這樣:
function customNodeFetch(url, options) {
var finalURL = (isTesting)? 'http://localhost:3000/' : url;
return fetch(finalURL, options);
}
在這里,我不知道在運行測試用例時如何將isTesting設置為true。 我試圖將常量放入配置中。 但是,它不起作用。 還有其他解決方法嗎?
建議不要使用全局變量來修改單元測試的代碼行為,而建議注入測試值。 在示例中顯示的函數已經接受url作為參數,因此在運行測試時將localhost傳遞給該函數,在代碼運行時將真實的URL傳遞給該函數。 通過分叉僅用於測試的邏輯,您使單元測試無效,因為它們不再測試您的應用程序在實際場景中采用的代碼流。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.