不幸的是,我們的web項目還沒有使用ES6模塊。相反,我們將我們的TypeScript源代碼進行傳輸,然後將它們連接在一起。使用不帶ES6模塊的笑話
這適用於瀏覽器以及Karma和WallabyJS(通過在其配置文件中設置files
選項)。
由於我們的1500個測試需要很長時間來執行,我想檢查Jest。但是,我們的測試失敗,因爲jest無法找到我們正在導入的類型。
例如,我們有一個類名爲StringUtils
和以下代碼:
import StringUtils = common.utils.StringUtils;
class Person {
private _name: string;
address(): string {
return StringUtils.buildAddress(this);
}
}
我們失敗:
ReferenceError: common is not defined
有沒有辦法告訴開玩笑哪些文件來加載(以什麼順序),然後再運行測試,就像我們對Karma和WallabyJS一樣?
我試過了,它並沒有真正起作用,例如,需要jQuery的模塊並不真正「知道」它被加載,我們的模塊可以' t找到其他模塊 似乎文件加載爲setupFiles沒有'window'作爲它們的全局對象,所以它們不是正確更新它,其他模塊不能正確使用它們。 – splintor