Ассоциация модульного тестирования Rails - PullRequest
7 голосов
/ 09 августа 2010

Должен ли я написать модульные тесты для моих ассоциаций?

Я не нашел много хороших ресурсов о том, как и нужно ли проводить тестирование. Я также вижу / слышу некоторое мнение о том, что не стоит проверять ваши ассоциации (own_to и has_many), так как они уже протестированы в рельсах. И есть еще одна точка зрения, которая гласит: если код, который вы пишете, это код, который вы тестируете .

Так что, если вы скажете, что я должен, скажите, пожалуйста, несколько хороших способов сделать это. В настоящее время я пишу тесты с использованием Test :: Unit и не использую musta (у меня нет макросов). Поэтому для тестирования каждой ассоциации я создаю группу объектов, а затем делаю утверждения на них. Примерно так -

Для Post модели, которая has_many комментариев , моя тестовая логика идет так -

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

1 Ответ

12 голосов
/ 09 августа 2010

Для меня тестирование ассоциации граничит с тестированием языка (или в данном случае с тестированием фреймворка).

Я бы зарезервировал его для обстоятельств, когда вы делаете что-то нестандартное с ассоциацией. Например, если каждый раз, когда вы создаете комментарий, он что-то меняет в родительском посте, проверьте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...