2010-08-09 7 views
7

내 협회에 대한 단위 테스트를 작성해야합니까?레일 유닛 테스트 협회

테스트 방법 및 방법에 대한 많은 좋은 자료를 찾지 못했습니다. 나는 또한 그들이 이미 레일에서 테스트되었으므로 당신의 협회 (belongs_to와 has_many)를 테스트하지 않는 것이 좋다고/듣는다. 그리고 또 다른 견해를 말하자면, 코드를 작성한다면 코드는입니다.

그래서 내가해야한다고 말하면,이 일을하는 좋은 방법이 몇 가지있다. 현재 Test :: Unit을 사용하여 테스트를 작성 중이며 Shoulda (매크로가 없음)를 사용하고 있지 않습니다. 그래서 각각의 연관성을 테스트하기 위해, 나는 많은 수의 객체를 만들고 그 객체에 대한 주장을하고있다. (또는 나에게

p = Post.create(:title => 'dummy_title', :content => 'lorem ...')
3.times{ Comment.create(:post_id :=> p.id, :commentor => 'jack')}
assert_equal(3, p.comments.size, "post doesn't have correct no of comments")

+0

나는 보통 1 ~ 2 개의 테스트를 거쳐 실제로 거기의 연관성을 확인합니다. 나는 협회가 존재한다면 그것은 효과가 있다고 믿는다. (물론 필요한 경우 협회의 특정 옵션을 테스트해야합니다.) – alternative

답변

12

, 언어 테스트에 관한 협회의 국경을 테스트 - 내 테스트 로직이 길을 간다 has_many가 논평 포스트 모델의 경우

- 다소 같은 이 경우 프레임 워크 테스트).

내가 협회와 비표준 무언가를하고있는 상황에 대비하여 예약 할 예정입니다. 예를 들어, 주석을 작성할 때마다 상위 게시물에서 내용이 변경되면이를 테스트하십시오.