我正在处理一个小gem,其中包括simplecov到spec_helper.rb
两行:
require 'simplecov'
SimpleCov.start
当我运行rspec测试时,simplecov似乎正确启动了,但报告却不正确:
Finished in 0.00214 seconds
8 examples, 0 failures
Coverage report generated for /home/......
spec to /home/megas/Work/calc/coverage. 0 / 0 LOC (0.0%) covered.
什么可能是一个问题,如何解决它?谢谢
7条答案
按热度按时间hc8w905p1#
还要确保在文件的**开头启用simplecov(a.k.a.
SimpleCov.start
);特别是在需要代码之前。vd8tlhqk2#
我也有同样的症状。我的问题是在我的测试文件中:
我需要将
require
的顺序更改为:希望这能帮到什么人,我都要疯了...
igsr9ssn3#
我也遇到过类似的问题。由于某种原因,一些模块的覆盖率为0%。经过调查,我发现其中一个初始化程序需要一个控制器,这导致模块在Simplecov之前被加载。我所做的就是将Simplecov移到初始化程序:
如果你正在使用spring,记得在运行覆盖率测试时关闭它。在另一种情况下,完整的应用程序代码将在SimpleCov之前加载,并报告0%的覆盖率。
0qx6xfy64#
万一上面两个答案不起作用(就像我的情况一样),一个在simplecov的github问题页面上的用户建议这样做,这对我很有效。
在您需要simplecov-
0kjbasz65#
如果以上任何一种都不起作用。
在test.rb中验证:
e4yzc0pl6#
在我的例子中,问题是Spring -我必须使用以下内容创建一个
config/spring.rb
:如此处所述。
hmmo2u0o7#
我从命令行运行脚本,我发现解决方案是简单地把一个exit在我的脚本结束。
或者,也可以使用以下方法