2012-06-07 32 views
22

Tôi làm cách nào để tìm danh sách các bài kiểm tra rspec chậm nhất? Tôi muốn refactor những người chạy nhanh hơn. Tôi đã cố gắng tìm kiếm đá quý nhưng không thể tìm thấy bất kỳ. Tôi đã nghĩ đến việc đặt một cái gì đó trongTìm danh sách các bài kiểm tra rspec chậm

Rspec.before(:each) 

Rspec.after(:each) 

khối để tạo ra danh sách này. Nhưng tôi không biết cách truy cập tên của spec.

Trả lời

48

Điều đó thực sự được xây dựng ngay trong lệnh rspec. Chỉ cần sử dụng cờ -p hoặc --profile trong khi bạn đang chạy tất cả các thử nghiệm rspec của mình.

+7

Lưu ý, cấu hình sẽ không in nếu thông số kỹ thuật của bạn không thành công. –

10

Như MrDan nói, cờ --profile. Bạn cũng có thể tạo một tập tin .rspec trong thư mục gốc của dự án của bạn, để bạn có được những thông tin thời gian mọi lúc, như thế này:

$ cat .rspec 
--colour 
--profile 
--format nested 
--backtrace 

Bạn cũng có thể tăng tốc độ tất cả các bài kiểm tra của bạn nói chung bằng cách tắt thu gom rác thải , như sau:

# turn off garbage collection when running tests, place this in spec_helper.rb 
RSpec.configure do |config| 
    config.before(:all) do 
    DeferredGarbageCollection.start 
    end 

    config.after(:all) do 
    DeferredGarbageCollection.reconsider 
    end 
end 
+0

Cảm ơn, nhưng tôi nhận được "DeferredGarbageCollection liên tục uninitialized" –

+0

https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection – michelpm

+0

Trì hoãn GC là một ý tưởng khá thú vị. @rob bạn có thấy bất kỳ hạn chế nào khi làm việc này không? – marcgg

Các vấn đề liên quan