Закончено мое первое приложение Spring MVC - босс хочет посмотреть мои юнит-тесты - с чего мне начать? - PullRequest
3 голосов
/ 19 октября 2011

Я только что собрал быстрое Spring MVC приложение в качестве демонстрации для замены внутреннего приложения в моем отделе.

Теперь я должен продемонстрировать, как Разработка через тестирование работает в отношении Spring MVC.

К сожалению, я не использовал TDD для создания демонстрации, и я не уверен, с чего начать.

Я использую Maven для сборки - есть ли Основанные на Maven платформы тестирования , с которыми легко начать работать в Spring MVC и которые имеютхорошие учебники?

С чего начать?

Ответы [ 4 ]

5 голосов
/ 19 октября 2011

В этом руководстве подробно описывается пошаговая разработка приложения Spring Framework MVC, которое включает в себя шаг написания теста .Используйте приведенный здесь пример в качестве модели.

4 голосов
/ 19 октября 2011

Поскольку TDD оказывает огромное влияние на то, как пишется код и методы, в большинстве сложных ситуаций его невозможно подделать!Я имею в виду, если вы делаете TDD, то код будет написан в виде, который легко проверить.Если вы не сделаете TDD, мы надеемся, что код будет также тестируемым, но совершенно другим способом.- Таким образом, если у вас есть некоторый опыт работы с TDD, вы увидите разницу в коде.

Так что, если кода не так много, и эта вещь TDD является действительно серьезным требованием, тогдабросьте код и сделайте это снова.


В любом случае, если вы сделаете это снова или нет, инструменты, которые вам нужны, будут такими же:

Вам понадобится тестовый фреймворк: Перейтис Junit 4 , потому что лучше всего поддерживается Spring (см. Ссылка Spring: глава 9 Тестирование ).

Интеграция в Maven очень проста:

Поместите контрольные примеры в `src / test / java ', а затем (но это зависит от вашего стиля) в структуру пакета, параллельную тестируемым классам.Все, что вам нужно, это плагин maven-sure-fire .

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.8.1</version>
  <scope>test</scope>
</dependency>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.10</version>
  </plugin>

Возможно, вы захотите поиздеваться над чем easyMock или Jmock или Mockito .

Если вам нужно выполнить интеграционные тесты, которые обращаются к вашему приложению через его интерфейс, чем посмотрите на: Selenium2 / Webdriver -Поэтому вам необходимо сначала запустить сервер, например, Maven-Cargo поможет вам.Но предупреждение: запустить первый тест интеграции с веб-базой, который автоматически запускает сервер и автоматически развертывает приложение, - это трудная задача, которая может занять у вас более одного дня.

1 голос
/ 19 октября 2011

Вам понадобится среда тестирования (например, JUnit) и среда для насмешки над контроллерами Spring. EasyMock - хороший выбор. Вы можете найти уроки здесь и здесь .

1 голос
/ 19 октября 2011

Просто используйте самолет старый JUnit. Maven будет запускаться автоматически как часть процесса сборки.

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

Если вы хотите смоделировать TDD, вы можете закомментировать код и тест, который не пройден, прокомментировать одну или несколько строк кода, которые могут пройти тест.

...