Во-первых, если у вас уже есть большая система, которая не имеет каких-либо модульных тестов, и вы планируете добавить ее, то позвольте мне предложить общий совет.
От поддержания системы и работы с ней вы, вероятно, уже знаете области системы, которые имеют тенденцию быть самыми простыми, которые часто меняются и которые не очень сильно меняются. Если вы этого не сделаете, вы всегда можете просмотреть журналы управления версиями (вы используете источник управления, верно?), Чтобы узнать, где сосредоточена большая часть исправлений и изменений ошибок. Сосредоточьте свои усилия по тестированию на этих классах и методах. Существует общее правило, называемое правилом 80/20, которое применимо к целому ряду вещей, являющихся одним из них.
В нем говорится, что примерно в среднем вы должны будете покрыть 80 процентов случаев оскорбления, выполнив всего 20% работы. То есть, написав тесты всего на 20% кода, вы, вероятно, поймаете 80% ошибок и регрессий. Это связано с тем, что большая часть хрупкого кода, обычно измененного кода и наихудшего кода, составляет всего 20% от кодовой базы. На самом деле это может быть еще меньше.
Вы должны использовать junit для этого, и вы должны использовать что-то вроде JMock или какую-то другую насмешливую библиотеку, чтобы убедиться, что вы тестируете изолированно. Для тестирования системы/тестирования интеграции, то есть, тестируя вещи, пока они работают вместе, я могу порекомендовать FitNesse. У меня был хороший опыт с ним в прошлом.Это позволяет вам написать свой тест в веб-браузере, используя простые табличные макеты, где вы можете легко определить свои входы и ожидаемые результаты. Все, что вам нужно сделать, это написать небольшой класс поддержки, называемый Fixture, который обрабатывает создание компонентов.
+1 для справочника по перьям. –
Я заказал книгу только сейчас. Благодарю. – Lily