CoffeeScript单元测试?

问题描述 投票:34回答:4

我在Rails应用程序中使用CoffeeScript,我想对它进行单元测试。谷歌没有发现任何东西,有没有办法做我自己的测试框架或测试CoffeeScript输出的JavaScript?

unit-testing coffeescript
4个回答
24
投票

您可以在CoffeeScript中使用任何javascript测试框架。这将测试CoffeeScript输出的Javascript,因为CoffeeScript本身无法执行。

为CoffeeScript编写自己的测试框架很有趣(qazxsw poi)但完全没必要。

更新:I did测试可以是Jasmine,在这种情况下,测试和测试中的代码都可以是CoffeeScript,无需任何编译步骤。


11
投票

您可以“按原样”使用QUnit,但仍然只编写咖啡脚本 - 而且没有胶水代码。 我在github上有一个非常小的纯咖啡脚本项目作为例子 - run on node.js

HTML测试页rubyann,引用测试rubyann_tests.htmlrubyann_tests.coffee文件。我没有写任何javascript或任何其他代码来使这项工作。

如果您使用命令行参数--allow-file-access-from-files,则测试仅在本地计算机上的Chrome上运行。但它适用于Firefox甚至IE而没有问题。

附录 - 测试也设置为通过Node / gulp / qunitjs在命令行上运行 - 下载repo并输入jquery.rubyann.coffee


2
投票

我正在使用QUnit在我的Rails应用程序中测试CoffeeScript,并写了我在这里的做法:npm run test

我写的最有趣的事情是使用Coffee.load的回调来保证包含测试的文件在包含测试代码的文件之后加载:

http://effectif.com/coffeescript/qunit-boilerplate

文章解释了讨论<script type="text/coffeescript"> for file in ['models', 'controllers'] lib = "../../app/assets/javascripts/#{file}.js.coffee" load_test = -> test = "#{file}_test.coffee" -> CoffeeScript.load(test) CoffeeScript.load lib, load_test() </script> 变量的必要性......


0
投票

对于Coffee-Script单元测试,您可以尝试test它是从头开始编写的咖啡脚本。仅供参考我是我自己的,但我想你会喜欢它。它类似于JUnit

© www.soinside.com 2019 - 2024. All rights reserved.