2016-07-28 127 views
0

我發現了a lot of tutorials,用於通過將ES2015代碼(通過Babel)轉換爲ES5,然後測試ES5代碼來測試ES2015代碼。但是是否有任何測試框架可以使用原生ES2015功能(如默認參數)來測試代碼而不進行轉譯?我可以測試ES2015('ES6')代碼而無需編譯它嗎?

似乎很奇怪必須安裝整個轉置程序設置僅用於測試覆蓋率。我想知道是否有一種本地方式來對ES2015代碼進行斷言。

+1

有一種方法。在支持應用程序中使用的ES6功能的瀏覽器中進行測試。這對於ES6模塊來說很難做到,因爲瀏覽器不支持它們。請通過陳述使用的測試工具來改進問題。其中一些(例如Karma)提供了用於轉譯的無縫設置。 – estus

+1

「*整個轉儲程序設置*僅*用於測試覆蓋率*」 - 如果您不需要用於實際構建的轉譯程序,則不需要它用於測試覆蓋率。無論如何,如果你需要它的構建,你將需要它。 – Bergi

回答

2

這不是測試框架的問題,而是javascript環境的問題。如果您的引擎本身支持您的測試使用的ES6功能,那麼您可以本地運行框架和測試。節點6在這方面做得非常好,there's only a few things missing(最重要的是,模塊)。只是不要安裝翻譯,它仍然會工作。

當然,還有一些尚未支持的功能,還有很多環境一般都沒有ES6支持,但是所有測試框架都希望支持它們(或需要支持它們以往)。所以這就是爲什麼作爲選項的轉換器(仍然)內置於整個工具鏈中的原因 - 即使您現在不必再使用它了。

相關問題