2016-12-05 55 views
1

我試圖從ava遷移到笑話。 在ava中,您可以設置您在其中設置jsdom環境的ava.setup。 例如,創建dom結構並執行必要的填充(localStorage)。如何在使用笑話時設置jsdom

我如何在JEST中完成這項工作?目前我在每個測試套件中都使用beforeEach,它不會像最佳解決方案那樣填充。

在此先感謝!

回答

5

偉大的問題。

Jest實際上裝有jsdom和已配置的環境(您可以用testEnvironmentsetting覆蓋它)。

如果您需要設置環境的更多方面,您可以使用setupTestFrameworkScriptFilesetting指向在所有測試運行之前執行的文件。

例如,如果您需要window.yourVar可用的窗口,所有的測試,你將添加到您的package.json

"jest": { 
    "setupTestFrameworkScriptFile": "tests/setup.js" 
} 

而且在測試/ setup.js:

Object.defineProperty(window, 'yourVar', { value: 'yourValue }); 
+1

我知道testEnvironment和默認值,但'setupTestFrameworkScriptFile'是我正在尋找的。謝謝!! –

+0

還有一件事,並不完全相關,您期望包的建議嗎?我必須有一個自定義的消息和開玩笑,期望不提供這個選項。 –

+0

如果你想包含一條消息,我建議https://www.npmjs.com/package/expect –