2017-08-22 41 views
5

我正在研究一个小插件,并包含simplecov。

在我的宝石文件中我有一行:simplecov报告0.0%涵盖

gem 'simplecov', :require => false, :group => :test 

在我的测试文件,我把线require "projectname/devuntil/rspec/spec_helper" 在文件的最顶端。

在我spec_helper.rb文件我在文件

if ENV['COVERAGE'] 
    require 'simplecov' 
    require 'coveralls' 

    puts "require simplecov and coveralls" 
    SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ 
    SimpleCov::Formatter::HTMLFormatter, 
    Coveralls::SimpleCov::Formatter 
    ] 

    SimpleCov.start do 
    add_filter 'spec/' 
    add_filter 'vendor/' 
    puts "Start simple coverage" 
    end 
end 

的顶部添加simplecov当我尝试运行使用命令COVERAGE=true bundle exec rspec测试表明:

[[email protected] logstash-input-imap]# COVERAGE=true bundle exec rspec 
Coverage may be inaccurate; set the "--debug" command line option, or do JRUBY_OPTS="--debug" or set the "debug.fullTrace=true" option in your .jrubyrc 
require simplecov and coveralls 
/usr/local/rvm/gems/jruby-9.1.7.0/gems/logstash-devutils-1.3.3-java/lib/logstash/devutils/rspec/spec_helper.rb:6:in `<main>': [DEPRECATION] ::[] is deprecated. Use ::new instead. 
Start simple coverage 
/usr/local/rvm/gems/jruby-9.1.7.0/gems/simplecov-0.15.0/lib/simplecov.rb:48: warning: tracing (e.g. set_trace_func) will not capture all events without --debug flag 
--- jar coordinate com.fasterxml.jackson.core:jackson-databind already loaded with version 2.7.4 - omit version 2.7.3 
--- jar coordinate com.fasterxml.jackson.core:jackson-annotations already loaded with version 2.7.0 - omit version 2.7.3 
--- jar coordinate com.fasterxml.jackson.module:jackson-module-afterburner already loaded with version 2.7.4 - omit version 2.7.3 
--- jar coordinate com.fasterxml.jackson.core:jackson-core already loaded with version 2.7.4 - omit version 2.7.3 
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. 
Sending Logstash's logs to which is now configured via log4j2.properties 
Run options: exclude {:redis=>true, :socket=>true, :performance=>true, :couchdb=>true, :elasticsearch=>true, :elasticsearch_secure=>true, :export_cypher=>true, :integration=>true, :windows=>true} 

Randomized with seed 6877 
.function called 
.function called 
.function called 
.function called 
.function called 
.function called 
. 

Finished in 4.04 seconds (files took 16.56 seconds to load) 
7 examples, 0 failures 

Randomized with seed 6877 

Coverage report generated for RSpec to /root/Downloads/logstash-input-imap/coverage. 0/88 LOC (0.0%) covered. 
[Coveralls] Outside the Travis environment, not sending data. 

虽然我的函数调用,但它仍然显示0.0%覆盖。
这里有什么问题以及如何解决?由于

+0

可以共享全'spec_helper'和您正在运行的规格文件? – meta

+0

这是我的spec_helper文件。它是一个开源的。 https://github.com/elastic/logstash-devutils/blob/master/lib/logstash/devutils/rspec/spec_helper.rb –

+0

这是我的规格文件https://github.com/logstash-plugins/logstash- input-imap/blob/master/spec/inputs/imap_spec.rb –

回答

2

您可以尝试在你的项目根创建.jrubyrc这些内容:

cli.debug =真

debug.fullTrace =真