2012-10-02 36 views
7

tôi đang làm việc trên một viên ngọc nhỏ và bao gồm simplecov-spec_helper.rb hai dòng:SimpleCov 0% bảo hiểm

require 'simplecov' 
SimpleCov.start 

Khi tôi chạy thử nghiệm rspec, các simplecov dường như bắt đầu một cách chính xác nhưng báo cáo không phải là:

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. 

Điều gì có thể là vấn đề và cách khắc phục sự cố? Cảm ơn

Trả lời

19

Cũng đảm bảo bật simplecov (a.k.a. SimpleCov.start) tại số rất bắt đầu tệp của bạn; đặc biệt là trước khi bạn yêu cầu mã của bạn.

+2

Đây là vấn đề của tôi; cảm ơn bạn. Một người khác đã chỉ ra một cách hữu ích để chẩn đoán: Thêm một thông báo gỡ lỗi 'puts' vào đầu tệp ứng dụng/mô hình và một tệp khác trong' spec_helper.rb' ngay bên cạnh 'SimpleCov.start' của bạn - nếu bạn thấy đầu ra gỡ lỗi mô hình trước đầu ra gỡ lỗi SimpleCov, bạn biết mô hình của bạn đang được nạp trước SimpleCov. – bjnord

+0

đã sửa nó cho tôi, cảm ơn! – lfender6445

+0

Điều đó cố định nó, cảm ơn rất nhiều! –

2

Tôi có cùng triệu chứng. Vấn đề của tôi là trong tập tin thử nghiệm của tôi:

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

...Rest of the test file 

Và tôi cần phải thay đổi thứ tự của các require s:

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

...Rest of the test file 

Hope this helps ai đó, tôi sẽ điên ...

0

Chỉ trong trường hợp hai câu trả lời ở trên không hoạt động (như trong trường hợp của tôi), người dùng trên trang vấn đề github của simplecov đã đề xuất điều này, điều này làm việc cho tôi.

Thêm này sau khi bạn yêu cầu simplecov-

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

SimpleCov.configure do 
    clean_filters 
    load_adapter 'test_frameworks' 
end 
0

Nếu một trong những điều trên không làm việc.

xác minh rằng trong test.rb:

config.eager_load = false 
0

Trong trường hợp của tôi vấn đề là mùa xuân - Tôi đã phải tạo ra một config/spring.rb như sau:

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

như tài liệu here.

0

Tôi đang chạy tập lệnh từ dòng lệnh và tôi thấy giải pháp chỉ đơn giản là đặt một lối thoát xuất cảnh ở cuối tập lệnh của tôi. Doh!

Ngoài ra, sau đây cũng làm việc

SimpleCov.at_exit do 
    SimpleCov.result.format! 
end 
Các vấn đề liên quan