6
我正在嘗試使用react-router的browserHistory來測試React組件。爲了確保獲得browserHistory我使用createMemoryHistory(反應路由器)模塊是這樣的:如何在單元測試環境中模擬browserHistory?
let createMemoryHistory = require('react-router/lib/createMemoryHistory');
在測試ENV我正在JSDOM庫的優勢。
然後我試圖創造了歷史對象分配給DOM:
let history = createMemoryHistory();
global.history = history;
雖然在測試環境中呈現組件,我收到以下錯誤:
Invariant Violation: Browser history needs a DOM
任何想法如何克服它?
你必須實現一個模擬歷史記錄對象,並用它代替 –
任何進一步的指令或代碼示例? – magos
您可以使用sinon/spies來嘲笑您正在使用的方法。請參閱http://sinonjs.org/ –