0
을 필요로 할 때 모범 사례를 테스트 :레일 하나 개의 액티브 모델의 내가 확인하기 위해 상대방의 존재를 필요로 하나의 두 가지 모델을 가지고 있다고 가정 해 봅시다 다른
class Mother < ActiveRecord::Base
has_many :kids
end
class Kid < ActiveRecord::Base
belongs_to :mother
validates_presence_of :mother
end
I 모델 아이에 대한 테스트를 쓰고는 내가 테스트하고자하는 첫 번째 일은 어머니가 존재하지 않고 (즉, 데이터베이스에 유지되는) 아이를 구원 할 수 없다는 것입니다. 그러나 그 일을하기 위해, 나는 먼저 엄마를 만드는 테스트를 받아야합니다.
이 상황을 처리하는 가장 좋은 방법은 무엇입니까? 해야할까요 :
- 시험하기 전에 테스트 데이터베이스를 Mother 인스턴스로 시드 하시겠습니까?
- Kid가 테스트되기 전에 Mother의 인스턴스를 만들기 위해 Mother의 단위 테스트를 사용 하시겠습니까? 어떤 경우에는 권장하지 않는 테스트 순서를 지정해야합니다. 맞습니까?
- 다른 옵션은 무엇입니까?
테스트 프레임 워크에서 제공하는 모든 작업을 수행하지 않아야합니다. 설비 또는 공장. 다른 테스트에 의존하는 테스트를 작성하지 않아야합니다. 실제로 테스트가 수행되는 동안 데이터베이스를 비울 필요가 있기 때문에 불가능합니다. – meagar
@meagar 필자는 이것이 조명기 또는 공장 인 허용 된 대답이어야한다고 생각합니다. 다시 대답 할 수있어서 받아 들일 수 있을까요? –