我正在使用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