Jef*_*eff 8 unit-testing coffeescript jasmine
我正在尝试使用Jasmine对用coffeescript编写的小应用程序进行单元测试.我发现很多消息来源说单元测试可以很好地完成从coffeescript编译的JS.如果所有内容都包含在匿名函数中以避免污染名称空间,那么如何访问JS代码的数据和逻辑?是每次都使用-b标志运行编译器的唯一解决方案吗?
您应该针对从CoffeeScript模块公开的公共接口进行测试.如果你的模块被称为Foo并且公开了两个公共方法,bar并且baz,你可以按照以下方式导出它们:
Foo =
bar: (a, b) ->
#implementation
baz: (c) ->
#implementation
(exports ? this).Foo = Foo
Run Code Online (Sandbox Code Playgroud)
当然,这种模式还有其他变化.例如,请参阅underscore.coffee.现在您已公开了公共界面,只需以适当的方式使其可用于您的Jasmine测试.例如,如果您使用的是jasmine-node,则可以执行以下操作:
Foo = require('foo') #assuming your module is compiled to foo.js
Run Code Online (Sandbox Code Playgroud)
然后,您的测试将调用Foo.bar和Foo.baz.
| 归档时间: |
|
| 查看次数: |
2381 次 |
| 最近记录: |