Где вы должны юнит-тестирование вашей проверки? - PullRequest
2 голосов
/ 19 ноября 2009

Это беспокоит меня уже некоторое время. Я положил все мои проверки в сервисном слое. Однако, когда я провожу юнит-тестирование, я обычно прохожу все через метод действия. Затем это входит в мой уровень обслуживания, который содержит проверку.

Так что я не уверен, что сейчас это лучший способ сделать это. Так как обычно они говорят, что вы должны просто проверить этот метод.

Так что вы, ребята, думаете?

Ответы [ 2 ]

3 голосов
/ 19 ноября 2009

Если вы проходите все через ваш запрос на действие, значит, вы проводите интеграционное тестирование.

Если вы проводите (юнит) тестирование, тогда вы должны тестировать юниты. В этом случае вы должны передать все данные, необходимые для уровня обслуживания (имитировать) запрос действия.

Вы должны смоделировать объект, который передается на сервисный уровень, передать его и затем утверждать ожидаемые результаты в сравнении с тем, что вы на самом деле получили.

EDIT

Как дополнение, здорово иметь сквозные или интеграционные тесты, потому что это доказывает, что (процесс) работает.

Однако вам необходимо пройти модульные тесты, поскольку они будут тестировать отдельные компоненты и позволят вам выявить дефекты быстрее, чем это может сделать комплексная проверка.

1 голос
/ 19 ноября 2009

На вашем месте я бы протестировал сервисный уровень, который содержит валидацию, отдельно, а не через метод действия.

Причина этого в том, что я хочу, чтобы мой тестовый код "проводил по одному тестированию за раз". У меня есть тесты для моих контроллеров, которые проверяют взаимодействие модели и вида специально, а не что-то еще; и я хотел бы иметь тесты специально для уровня обслуживания и для проверки.

Когда вы проводите модульное тестирование, mocks просто неизбежны.

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