2010-12-06 26 views
10

一直在寻找jsunit和jcoverage演示here点击报道链接。在新标签页打开)jasmine with jscoverage自动化测试

我想知道是否有人做过类似于Jasmine和JSCoverage?我有点不确定如何继续。

[编辑] 我想知道如果有什么我可以用茉莉记者做。我的茉莉花“你好世界”的例子提到了一个TrivialReporter。也许这可以延长?

[编辑] 我现在有线了JS测试亚军茉莉。现在如果我能想出一种方法来获得覆盖面?

回答

4

如果你工作在一个Ruby项目,并通过茉莉宝石使用茉莉,我有一个补丁,增加了jscoverage支持[1]。

如果您使用捆绑,你可以在你Gemfile使用此版本的茉莉花使用下面的命令:

gem 'jasmine', 
    :git  => 'git://github.com/hjdivad/jasmine-gem', 
    :submodules => true, 
    :branch  => 'jscoverage' 

确保你已经下载jscoverage和它在你$PATH

然后,您可以添加以下jasmine.yml

coverage: 
    enabled: true 
    encoding: utf-8 
    tmp_dir: tmp 
    report_dir: public/coverage 
    skip_paths: 
    - public/javascripts/vendor 

如果这对你的作品,你可能想说话就拉请求[2]得到它,或者一些变化,到茉莉宝石正确。

+1

如果你不是一个Ruby项目工作的时候,你应该可以看看在拉请求两次提交并提取你需要一个独立的js项目的东西。 1.复制jscoverage.js并将其添加为帮助程序。 2.运行测试时运行jscoverage来检测你的javascript,并将检测到的文件放到某个目录中。 II。茉莉花对这个目录运行iii。测试完成后,将`jasmine.coverageReport()`的结果保存为`jscoverage.json` iv。修改生成的`jscoverage.js`,在底部附加`jscoverage_isReport = true;`。 – hjdivad 2011-06-01 21:38:05

1

如果你不使用茉莉花宝石,或者不希望有运行服务器,检查覆盖面,我已经写了一个可以把jscoverage和jasmine结合在一起的宝石。它可以在CI构建中作为rake任务运行。

它可以在这里找到:https://github.com/firstbanco/jasmine-coverage

安装它,然后只需运行

bundle exec rake jasmine:coverage 

大功告成。

编辑:由于茉莉花报道的作者,我觉得有义务告诉你一个更好的选择:teaspoon。它需要更多的设置,但也允许在浏览器中运行,以便您可以使用Chrome调试器。