我正在使用Microsoft的TypeScript開發客戶端JavaScript庫。我想編寫一些測試,最好在瀏覽器中運行它們(而不是通過node.js)。如何使用TypeScript編寫瀏覽器測試
官方TypeScript Samples沒有包含測試代碼,所以沒有指導。
我發現至少有one example組合TypeScript和Mocha,但它運行在Node下。我正在爲瀏覽器開發,所以我寧願在瀏覽器中進行測試。
我目前的方法是使用grunt-typescript
和grunt-browserify
內聯require
語句將我的庫編譯成單個JS文件。然後我將這個和測試文件加載到我的測試運行器中:
<script src="../build/library.js"></script>
<!-- external test dependencies -->
<script src="../node_modules/mocha/mocha.js"></script>
<script src="../node_modules/chai/chai.js"></script>
<!-- the tests -->
<script>mocha.setup('bdd')</script>
<script src="../build/test/my-test.js"></script>
但是,這完全不起作用。我的測試需要import
它正在測試的代碼,並且瀏覽器不知道如何在編譯代碼中處理結果require
語句。我嘗試使用requirejs
已經全部結束了徒勞。
如何測試TypeScript代碼?我希望能夠:
我會修改這個問題,詢問如何獲得requirejs的工作,並且包含您遇到的具體問題。我在tsUnit中使用了requirejs,並且我還將它與Jasmine一起使用,它的工作正常 - 所以如果你解決了這個問題,我希望你的Mocha/Chai組合也能工作。 – Fenton 2015-02-18 08:13:51
謝謝,史蒂夫。是[這個項目](https://github.com/Steve-Fenton/TypeScriptUtilities)使用Jasmine和require.js引用的那個?我會嘗試使用它作爲模板。 – danvk 2015-02-18 16:48:21
那個不使用require,雖然它確實使用Jasmine。我在一個商業軟件產品上一起使用它們 - 並且會寫下你需要的小技巧:https://www.stevefenton.co.uk/Content/Blog/Date/201407/Blog/Combining-TypeScript-Jasmine-And-AMD -With-RequireJS/ – Fenton 2015-02-18 20:40:27