我有一个项目,我想让代码覆盖。这只是一个标准的JRuby项目,而不是Rails,我想知道如何让RCov工作。我已经尝试了很长一段时间来取得结果,我只是不知道发生了什么。我得到一个覆盖文件夹来显示,但是所有的文件要么在需要时得到加载错误,要么加载的文件根本没有说它们已经过测试(我知道在一个例子中,这是胡扯,因为我为它制定了测试规范)。有人能向我解释如何让RCov工作,或者为什么我得到附加的错误吗?我不明白您如何/为什么要为包含的库做-I,或者这有什么意义。从我到目前为止所做的工作来看,我只是从我的主要appcode目录运行rcov /..rb,这会生成我的覆盖率文件夹,并且: rcov /..rb /home/ben/.rvm/gems/jruby-1.6.8/gems/rcov-0.9.11-java/lib/rcov/differential_analyzer.rb:31警告:跟踪(例如,set_trace_func)不会捕获所有事件,除非-调试标志NoMethodError:未定义的方法“描述”main:Object (root) at ./spec/ncrf_spec.rb:3
发布于 2012-11-10 13:30:18
RCov严格限于Ruby1.8.x的Matz参考含义,甚至不适用于1.9.x。
SimpleCov是一种新的方式,因为它使用新的Ruby覆盖API。这个API有一段时间不被JRuby支持,或者至少在某种程度上不支持它在生产中使用。关于SimpleCov虫追踪器的原始问题没有明确声明它现在工作。但是,关于这个Ruby的他们在JRuby跟踪器中记录的问题没有正确地工作,说明这个问题现在已经解决了。
我想你应该试试最新版本的JRuby和SimpleCov。
关于另一个专题:
Ruby的-I标志将目录添加到$LOAD_PATH数组中,该数组定义了在尝试用require加载.rb文件时搜索它们的位置。在Ruby1.9.x文件中,只有当它们位于$LOAD_PATH中的一个目录中,并且与您的Ruby的当前工作目录无关时,才能找到它们。
https://stackoverflow.com/questions/13320000
复制相似问题