2012-10-02 4 views
7

ich auf einem kleinen Juwel gerade arbeite und enthalten simplecov-spec_helper.rb zwei Linien:SimpleCov 0% Deckung

require 'simplecov' 
SimpleCov.start 

Wenn ich den rspec Test ausführen, scheint die simplecov korrekt gestartet, aber der Bericht ist nicht:

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. 

Was könnte ein Problem sein und wie es zu beheben? Danke

Antwort

19

Aktivieren Sie auch simplecov (a.k.a. SimpleCov.start) unter sehr Anfang Ihrer Datei; vor allem, bevor Sie Ihren Code benötigen.

+2

Das ist mein Problem war; Danke. Jemand anders wies auf eine hilfreiche Diagnosemethode hin: Fügen Sie eine 'puts'-Debug-Nachricht an den Anfang einer App/Modelldatei und eine weitere in' spec_helper.rb' direkt neben Ihrem 'SimpleCov.start' hinzu - wenn Sie sehen Die Modell-Debug-Ausgabe vor der SimpleCov-Debug-Ausgabe, Sie wissen, dass Ihr Modell vor SimpleCov geladen wird. – bjnord

+0

reparierte es für mich, danke! – lfender6445

+0

Das hat es behoben, vielen Dank! –

2

Ich hatte die gleichen Symptome. Mein Problem war, dass in meiner Testdatei:

#spec/oneclass_spec.rb 
require 'oneclass' 
require 'spec_helper' 

...Rest of the test file 

Und ich brauchte die Reihenfolge der require s zu ändern:

#spec/oneclass_spec.rb 
require 'spec_helper' 
require 'oneclass' 

...Rest of the test file 

Hope this jemand hilft, ich war verrückt ...

0

Nur für den Fall, dass die obigen zwei Antworten nicht funktionieren (wie in meinem Fall), schlug ein Benutzer auf simpecovs GitHub-Issues-Seite dies vor, was für mich funktionierte.

diese hinzufügen, nachdem Sie simplecov- benötigen

module SimpleCov::Configuration 
    def clean_filters 
    @filters = [] 
    end 
end 

SimpleCov.configure do 
    clean_filters 
    load_adapter 'test_frameworks' 
end 
0

Wenn eine der oben genannten nicht funktioniert hat.

dass in test.rb überprüfen:

config.eager_load = false 
0

In meinem Fall das Problem war Frühling - ich config/spring.rb mit dem folgenden erstellen musste:

if ENV['RAILS_ENV'] == 'test' 
    require 'simplecov' 
    SimpleCov.start 
end 

als here dokumentiert.

0

Ich bin Skripte von der Kommandozeile ausgeführt und ich fand die Lösung war einfach eine Ausfahrt am Ende meines Skripts setzen. Do!

Alternativ auch folgende Werke

SimpleCov.at_exit do 
    SimpleCov.result.format! 
end