Tôi tin Steve's comment trên nên là câu trả lời chính xác. Bạn có thể sử dụng Rails.application.load_seed
để tải dữ liệu hạt giống vào môi trường thử nghiệm của mình.Tuy nhiên, khi nào và mức độ thường xuyên dữ liệu này được nạp phụ thuộc vào một vài điều:
Sử dụng Minitest
Không có cách nào thuận tiện để chạy tập tin này một lần trước khi tất cả các bài kiểm tra (xem this Github issue). Bạn sẽ cần phải tải dữ liệu một lần trước mỗi bài kiểm tra, có khả năng trong các phương pháp thiết lập các tập tin thử nghiệm của bạn:
# test/models/my_model_test.rb
class LevelTest < ActiveSupport::TestCase
def setup
Rails.application.load_seed
end
# tests here...
end
Sử dụng RSpec
phương pháp
before(:all)
Sử dụng RSpec để tải dữ liệu hạt giống cho tất cả các thử nghiệm cho mô hình này :
describe MyModel do
before(:all) do
Rails.application.load_seed
end
describe "my model..." do
# your tests here
end
Hy vọng điều này sẽ hữu ích.
Tôi thích sự đơn giản, nhưng vì lý do nào đó, việc thêm dòng này vào 'test_helper.rb' của tôi không hoạt động đối với tôi mặc dù http://stackoverflow.com/a/1998520/68210 đã làm. –
Trong các phiên bản mới hơn của đường ray bạn có thể làm: Rails.application.load_seed – Steve
@Steve cảm ơn bạn - bạn có biết đặt Rails.application.load_seed ở đâu nếu có sử dụng rspec/capybarra không? – BKSpurgeon