ฉันเชื่อว่าความคิดเห็นของสตีฟข้างต้นน่าจะเป็นคำตอบที่ถูกต้อง คุณสามารถใช้Rails.application.load_seed
เพื่อโหลดข้อมูลเมล็ดพันธุ์ลงในสภาพแวดล้อมการทดสอบของคุณ อย่างไรก็ตามข้อมูลนี้จะโหลดเมื่อใดและบ่อยเพียงใดขึ้นอยู่กับบางสิ่ง:
ใช้ Minitest
ไม่มีวิธีที่สะดวกในการเรียกใช้ไฟล์นี้ก่อนการทดสอบทั้งหมด (ดูปัญหา Github นี้ ) คุณจะต้องโหลดข้อมูลหนึ่งครั้งก่อนการทดสอบแต่ละครั้งซึ่งน่าจะเป็นวิธีการตั้งค่าของไฟล์ทดสอบของคุณ:
# test/models/my_model_test.rb
class LevelTest < ActiveSupport::TestCase
def setup
Rails.application.load_seed
end
# tests here...
end
ใช้ RSpec
ใช้before(:all)
วิธีของ RSpec เพื่อโหลดข้อมูลเมล็ดพันธุ์สำหรับการทดสอบทั้งหมดสำหรับรุ่นนี้:
describe MyModel do
before(:all) do
Rails.application.load_seed
end
describe "my model..." do
# your tests here
end
หวังว่านี่จะช่วยได้
test_helper.rb
ยังไม่ได้ผลสำหรับฉันแม้ว่าจะทำstackoverflow.com/a/1998520/68210ก็ตาม