Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing jasmine与jscoverage自动测试_Unit Testing_Continuous Integration_Code Coverage - Fatal编程技术网

Unit testing jasmine与jscoverage自动测试

Unit testing jasmine与jscoverage自动测试,unit-testing,continuous-integration,code-coverage,Unit Testing,Continuous Integration,Code Coverage,一直在看jsunit和jcoverage演示(点击coverage report链接,在一个新选项卡中打开) 我想知道是否有人对Jasmine和JS做过类似的事情?我有点不确定如何继续 [编辑] 我想知道我能不能和一个茉莉花记者做点什么。我的Jasmine“hello world”示例引用了一位平凡的记者。也许这可以延长 [编辑] 我现在已经和jasmine联系上了js test runner。现在,如果我能想出一种获得覆盖率的方法???如果你正在从事一个ruby项目,并通过jasmine ge

一直在看jsunit和jcoverage演示(点击coverage report链接,在一个新选项卡中打开)

我想知道是否有人对Jasmine和JS做过类似的事情?我有点不确定如何继续

[编辑] 我想知道我能不能和一个茉莉花记者做点什么。我的Jasmine“hello world”示例引用了一位平凡的记者。也许这可以延长

[编辑]
我现在已经和jasmine联系上了js test runner。现在,如果我能想出一种获得覆盖率的方法???

如果你正在从事一个ruby项目,并通过jasmine gem使用jasmine,我有一个补丁添加了jscoverage支持[1]

如果您使用的是bundler,您可以在
Gemfile
中通过以下命令使用此版本的jasmine:

  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
如果这对您有效,您可能需要在pull请求[2]上发言,以将其或某些变体转换为jasmine gem

  • [1]
  • [2]

如果您不使用jasmine gem,或者不想运行服务器来检查覆盖率,我已经编写了一个将jscoverage和jasmine结合在一起的gem。它可以在CI构建中作为rake任务运行

可以在这里找到:

安装它,然后运行它

bundle exec rake jasmine:coverage
你完了


编辑:作为《茉莉花》的作者,我觉得有责任告诉你一个更好的选择:。它需要更多的设置,但也允许在浏览器中运行,因此您可以使用Chrome调试器。

如果您不是在处理ruby项目,您应该能够查看pull请求中的两个提交,并提取独立js项目所需的内容。1.复制jscoverage.js并将其添加为助手。2.当运行测试i时。运行jscoverage来插入javascript,并将插入指令的文件放入某个目录中。二,。让jasmine在此目录iii上运行。测试完成后,将
jasmine.coverageReport()
的结果保存为
jscoverage.json
iv。修改生成的
jscoverage.js
,添加
jscoverage\u isReport=true在底部。