Есть два аспекта для TDD GUI. Существует сама настройка GUI (например, перетаскивание), а затем есть то, что делает GUI (нажатие этой кнопки запускает URL в веб-браузере).
Что касается самого GUI, я рекомендую Test Just After, где вы пишете немного кода и видите, что Swing действительно делает то, что вы ожидаете, а затем вы помещаете этот код в тестируемый метод, который блокирует поведение. Вы по-прежнему сохраняете его небольшим, поэтому вам нужно немного протестировать дизайн, но в конце концов инфраструктура Swing сделает его более привлекательным.
Относительно того, что делает GUI, вы сохраняете непроверенную часть как можно более тонкой и сначала пишете тест для вызова метода, который делает то, что вам нужно. Например, добавление прослушивателя действия может не пройти тестирование, но прослушиватель действия не делает ничего, кроме делегирования тестируемому методу.
В определенный момент вы должны помнить, что это модульное тестирование, поэтому все ваши тесты, безусловно, могут пройти, и Swing все еще не будет вести себя так, как вы хотите. Не ожидайте, что TDD даст вам лучше. Функциональные тесты также имеют свое место.
Я обнаружил, что Abbot потенциально может помочь с первым типом Test Just After, но этого недостаточно, чтобы оправдать дополнительный инструмент (в нашем проекте у нас есть фреймворки, поэтому я стараюсь рассудить, сколько мы использования).