2010-08-04 39 views
9

Khi tôi sử dụng bước "Chỉ cho tôi trang", với Capybara/Dưa chuột, tôi có thể kiểm soát nơi các tệp được xuất ra không? Tôi không thể tìm thấy cấu hình cho điều này, và google fu của tôi là không cho tôi.Làm thế nào để đưa đầu ra capybara html vào một thư mục cụ thể?

Ngay bây giờ có vẻ như theo mặc định, chúng chuyển đến thư mục gốc của thư mục đường ray của tôi và làm lộn xộn mọi thứ ở đó.

Trả lời

11

Có thực sự là một lựa chọn cấu hình cho phép bạn chỉ định nơi để sản xuất các tập tin:

Capybara.save_and_open_page_path

Tôi tin rằng nó đã được bổ sung trong phiên bản mới nhất (0.3.9)

Trong file env.rb của bạn, bạn có thể làm điều gì đó như:

Capybara.save_and_open_page_path = '/Users/jsboulanger/my-rails-project/tmp' 

Trong Capybara 2.10, Capybara::save_and_open_page= không còn được dùng nữa. Thay vào đó, hãy gọi Capybara::save_path=

+3

Tuyệt vời! Mặc dù, nó trông giống như con đường liên quan đến dự án đường ray của tôi, vì vậy tôi chỉ có thể sử dụng: Capybara.save_and_open_page_path = 'tmp' Nhưng nó hoạt động rất tốt - cảm ơn! –

+0

Bạn nói đúng, không nên sử dụng đường dẫn tuyệt đối. – jsboulanger

+0

Tôi khuyên bạn nên sử dụng thư mục tệp tmp của hệ điều hành. AFAIK, không có quy trình nào sẽ xóa sạch các tệp capybara này khỏi thư mục dự án đường dẫn tmp. 'Capybara.save_path = '/ tmp'' –

7

Tốt. Cám ơn vì cái này.

Để thực sự gọn gàng về nó, tôi đã thêm dòng cấu hình vào config/environments/test.rb, vì bạn thường chỉ sử dụng capybara trong thử nghiệm và hoạt động tốt.

Kể từ khi có một loạt các thư mục con trong tmp/Tôi sử dụng:

Capybara.save_and_open_page_path = 'tmp/capybara' 

và tạo thư mục đó.

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