Применение TDD на MVC - PullRequest
       7

Применение TDD на MVC

2 голосов
/ 09 марта 2011

Я изо всех сил пытаюсь найти хорошее содержание MVC и TDD.Я просто хочу научиться эффективно писать модульные тесты для шаблона проектирования MVC.Буду признателен за любые идеи или ссылки на полезные ресурсы.Какие части MVC идеально подходят для модульного тестирования?Какие-либо преимущества в модульном тестировании представления, и если да, то как?

Ответы [ 2 ]

1 голос
/ 09 марта 2011

Лучше всего применять модульные тесты ко всем трем - модели, виду и контроллеру.Это просто для модели и контроллера, но может быть затруднено для части обзора.Шаблон MVP делает это несколько проще, поскольку представление в MVP обычно тоньше, чем в MVC.

Чтобы дополнить модульные тесты, вам понадобится интеграционное тестирование - широкая тема, охватывающая все вопросы от тестирования взаимодействиягорстки объектов для тестирования полной системы.Автоматические приемочные тесты также могут быть полезны.

В том, что касается юнит-тестирования любого из типов M, V или C: это сводится к экономии, связанной с достижением уровня качества, который вам нужен для обеспечения,Как правило, в долгосрочной перспективе (например, регрессионное тестирование) дешевле протестировать каждый узел детали, чем повторно тестировать все компоненты вручную.На самом деле, намного дешевле.Подумайте о затратах на ручное тестирование и повторное тестирование сотен классов, когда вы могли бы написать модульные тесты на этом пути.

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

1 голос
/ 09 марта 2011

В Ruby on Rails есть как MVC, так и модульное тестирование (я знаю, что ваш вопрос касается Java, но на высоком уровне подход должен быть в основном таким же).

Модульные тесты в значительной степени предназначены исключительно длясделать с тестированием модели (M в MVC).

Затем существуют функциональные тесты, которые тестируют контроллер (C).

Если вы хотите проверить V, то инструмент, такойкак Selenium - очень хорошая ставка.

Хорошая статья о тестировании в Rails: http://guides.rubyonrails.org/testing.html

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