модульный тест для приложения Java Swing - PullRequest
3 голосов
/ 21 июня 2010

Я ищу Unit Test для приложения Swing, и мне было интересно, какой будет лучший (самый простой) подход для достижения этой цели с почти полным охватом линии.Если это имеет значение, я использую Eclipse Galileo для разработки.

Спасибо.

Ответы [ 4 ]

6 голосов
/ 21 июня 2010

IMO FEST в настоящее время является лучшим каркасом для достижения этой цели.Просто напишите свои тесты JUnit, используя его.Больше информации на

http://fest.easytesting.org/

http://code.google.com/p/fest/

4 голосов
/ 21 июня 2010

Ваш вопрос довольно общий, поэтому сложно дать конкретный ответ.В любом случае, я пытаюсь: -)

Я понимаю, что код уже написан, поэтому практически вы работаете с устаревшим кодом.Рекомендуемое чтение для такой ситуации: Эффективная работа с устаревшим кодом от Michael Feathers.

В целом, лучше избегать модульного тестирования элементов GUI.Поэтому самое важное - попытаться отделить тестируемую логику от кода GUI на POJO, которые проще для модульных тестов.Затем начните писать модульные тесты для классов, содержащих логику, одну за другой ... попробуйте сначала выбрать наиболее важные части кода, чтобы максимизировать возврат инвестиций.Часто хорошим способом для достижения этой цели является просто всякий раз, когда вы касаетесь класса / метода, пишите для него модульные тесты.Таким образом, вы можете постепенно увеличивать покрытие кода.

1 голос
/ 21 июня 2010

Этот вопрос оставляет вопросы широко открытыми, какой тип тестирования вы действительно хотите сделать?

Модульное тестирование подразумевает проверку вашего пользовательского кода на уровне интерфейса метода, и инструментом для этого является JUnit.*

Тем не менее, вы специально упоминаете, что это приложение Swing, поэтому вы ищете способ автоматизировать взаимодействие с GUI для целей тестирования / регрессии?Это лошадь другого цвета.В этом случае, поскольку вы упомянули об использовании eclipse, вы можете посмотреть на GUIdancer.Вы также можете воспользоваться Google для автоматического тестирования пользовательского интерфейса и увидеть, что существует большой выбор коммерческих продуктов, но нет общего решения, каждое из которых соответствует своей экологической нише.

0 голосов
/ 21 июня 2010

Я не могу полностью понять ваш вопрос. Комплексную стратегию тестирования сложно тщательно спланировать.

Но если вы аккуратно написали свои тестовые случаи с помощью модульного тестирования (например, JUnit ), вы можете проанализировать свое программное обеспечение с помощью инструмента покрытия кода (например, Cobertura ) .

Eclipse имеет хороший плагин для JUnit, и Cobertura может быть легко интегрирована в ваш проект сборки с помощью Ant или Maven.

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