[RUBY-ON-RAILS] 어떻게 부하 DB에 : 씨앗 데이터 테스트 데이터베이스에 자동으로?
RUBY-ON-RAILS어떻게 부하 DB에 : 씨앗 데이터 테스트 데이터베이스에 자동으로?
나는 레일로드 종자 데이터의 새로운 표준 방법을 사용하려고 해요 2.3.4+의 DB : 종자 레이크 작업.
정말 제대로 작동에 내 응용 프로그램에 필요한로드 일정 데이터입니다.
DB를 얻을 수있는 가장 좋은 방법은 무엇입니까 : 데이터가 미리 입력되도록 종자 작업은 테스트 전에 실행?
해결법
-
==============================
1.DB를 : 종자 레이크 작업은 주로 단지 dB / seeds.rb 스크립트를로드합니다. 따라서 단지 데이터를로드하기 위해 해당 파일을 실행합니다.
DB를 : 종자 레이크 작업은 주로 단지 dB / seeds.rb 스크립트를로드합니다. 따라서 단지 데이터를로드하기 위해 해당 파일을 실행합니다.
load "#{Rails.root}/db/seeds.rb" # or Rails.application.load_seed
당신은 어디에서 사용하는 테스트 어떤 프레임 워크에 따라 달라집니다 당신이 처음에 한 번만 모든 테스트 전에로드 또는할지 여부를 배치합니다. 당신은 설정 호출 또는 test_helper.rb 파일에 넣을 수 있습니다.
-
==============================
2.나는 그것이 있어야 말하고 싶지만
나는 그것이 있어야 말하고 싶지만
namespace :db do namespace :test do task :prepare => :environment do Rake::Task["db:seed"].invoke end end end
때문에 DB : 테스트 : 부하가 실행되지 않습니다 당신이 config.active_record.schema_format =이있는 경우 : SQL을 데이터베이스 (DB : 테스트 : clone_structure입니다)
-
==============================
3.테스트 : lib 디렉토리 / 작업 / test_seed.rake이 같은 것을 넣는 것은 dB 후 종자 작업을 호출해야 부하를 :
테스트 : lib 디렉토리 / 작업 / test_seed.rake이 같은 것을 넣는 것은 dB 후 종자 작업을 호출해야 부하를 :
namespace :db do namespace :test do task :load => :environment do Rake::Task["db:seed"].invoke end end end
-
==============================
4.나는 스티브의 코멘트 위의 올바른 해답이 될 전망이다. 당신은 당신의 테스트 envoironment에 종자 데이터를로드 할 Rails.application.load_seed를 사용할 수 있습니다. 그러나, 및로드 된이 데이터는 몇 가지에 따라 얼마나 자주 :
나는 스티브의 코멘트 위의 올바른 해답이 될 전망이다. 당신은 당신의 테스트 envoironment에 종자 데이터를로드 할 Rails.application.load_seed를 사용할 수 있습니다. 그러나, 및로드 된이 데이터는 몇 가지에 따라 얼마나 자주 :
모든 테스트 전에 (이 Github에서 문제 참조) 일단이 파일을 실행하는 데 편리한 방법은 없습니다. 당신은 가능성이 테스트 파일의 설정 방법, 각 시험 전에 한 번 데이터를로드해야합니다 :
# test/models/my_model_test.rb class LevelTest < ActiveSupport::TestCase def setup Rails.application.load_seed end # tests here... end
사용 RSpec에의 전 (모든)이 모델에 대한 모든 테스트를위한 부하 씨앗 데이터 방법 :
describe MyModel do before(:all) do Rails.application.load_seed end describe "my model..." do # your tests here end
도움이 되었기를 바랍니다.
-
==============================
5.우리는 DB를 호출하고 있습니다 : 씨앗을 dB의 일환으로 : 테스트 : 준비와 함께 :
우리는 DB를 호출하고 있습니다 : 씨앗을 dB의 일환으로 : 테스트 : 준비와 함께 :
레이크 :: 작업 [ "DB : 씨"]. 호출
그런 식으로, 종자 데이터는 전체 테스트 실행을 위해 일단로드, 그리고 테스트 클래스에 한 번씩한다.
-
==============================
6.seedbank를 사용하는 경우,이 씨앗이로드되는 방식을 변경, 솔루션은 여기에 제공된 ... 당신은 아마 / 부하를 사용하지 않을 수 있도록.
seedbank를 사용하는 경우,이 씨앗이로드되는 방식을 변경, 솔루션은 여기에 제공된 ... 당신은 아마 / 부하를 사용하지 않을 수 있도록.
그리고 단지 레이크 퍼팅 :: 작업 [ 'DB : 씨앗']. test_helper이 결과로 호출 :
Don't know how to build task 'db:seed' (RuntimeError)
우리가 그 전에 load_tasks을 추가 할 때, 그것은 일 :
MyApp::Application.load_tasks Rake::Task['db:seed'].invoke
-
==============================
7.레이크을 추가 :: 작업. 테스트 : [ "DB : 씨앗은"] DB를에 호출 레이크 작업이 나를 위해 작동하지 않았다 준비합니다. 테스트 : 나는 레이크 DB와 데이터베이스를 준비 할 경우 준비하고 테스트 환경에서 콘솔을 입력, 내 모든 씨앗이 있었다. 그러나, 씨앗 내 테스트 사이에 지속되지 않았다.
레이크을 추가 :: 작업. 테스트 : [ "DB : 씨앗은"] DB를에 호출 레이크 작업이 나를 위해 작동하지 않았다 준비합니다. 테스트 : 나는 레이크 DB와 데이터베이스를 준비 할 경우 준비하고 테스트 환경에서 콘솔을 입력, 내 모든 씨앗이 있었다. 그러나, 씨앗 내 테스트 사이에 지속되지 않았다.
내 설정 방법에 부하 "# {Rails.root} /db/seeds.rb"를 추가하면, 벌금을하지만했다.
나는 자동으로로드 및 지속이 씨앗을 얻을 싶어요,하지만 난 아직 할 수있는 방법을 발견하지 않았습니다!
from https://stackoverflow.com/questions/1574797/how-to-load-dbseed-data-into-test-database-automatically by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 어떻게 루비 온 레일즈 콘솔에서 컨트롤러 / 뷰 헬퍼 메소드를 호출 할 수 있습니다? (0) | 2020.02.06 |
---|---|
[RUBY-ON-RAILS] 협회에 계산에 의해 주문 : 3 액티브 레일 (0) | 2020.02.06 |
[RUBY-ON-RAILS] 레일, MySQL과 스노우 레오파드 (Snow Leopard) (0) | 2020.02.06 |
[RUBY-ON-RAILS] 매버릭스 내 Mac에서 PG 보석을 설치하는 것이 불가능 (0) | 2020.02.06 |
[RUBY-ON-RAILS] 왜 부분을 렌더링하기 전에 escape_javascript? (0) | 2020.02.05 |