2016-04-11 106 views
0

我有一個TypeScript項目編譯到/ dist中的單個JS文件。如何在編譯測試代碼時編寫不包含待測類的TypeScript測試?

我有茉莉花測試,也寫在打字稿,引用他們用類似的參考測試各種類別:

/// <reference path="../../../src/script/classUnderTest.ts" /> 

當我編譯打字稿編譯器中的所有引用的類拉動測試和我得到一個包含測試代碼和待測試代碼的單個JS文件。

這實際上運行正常,只是運行測試,但現在我也想代碼覆蓋。據我所知,爲了讓伊斯坦布爾工作,我需要將測試代碼與測試代碼分開。此外,它將很好地測試正在生活的JS文件。

那麼,如何在測試實際運行時使用我編譯的JS文件的同時獲得「///引用」的類型安全和自動完成優點?

(還是我找錯了樹完全?)

注意,我建立這個在Mac上,所以從我讀過放肆目前還不是一個選項。我目前也只使用npm腳本來構建。除非絕對必要,否則我寧願不要帶入咕or或吞嚥。

回答

0

那麼,當測試實際運行時,如何獲得「///引用」的類型安全和自動完成好處,同時使用我編譯的JS文件呢?

請勿使用TypeScript的--outFile選項(few other reasons)。相反,使用模塊--module commonsjs和模塊加載器例如webpack

更多

瀏覽器快速入門:https://basarat.gitbooks.io/typescript/content/docs/quick/browser.html

模塊: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

+0

謝謝,你可以更具體一點?如果我在我的測試文件中使用TypeScript導入,那麼構建測試會重新生成主代碼(雖然覆蓋範圍確實有效)。如果我要使用像RequireJS這樣的東西,那麼我想我不會得到類型安全性,除非我也爲我的編譯模塊創建了一個.d.ts文件? – Dan

相關問題