Для вас, в большинстве нетривиальных проектов, в которых я принимал участие, существует крайнее предубеждение в отношении JUnit по двум причинам. Во-первых, GWTUnit требует ускорения контекста javascript, который является медленным, мучительно медленным по сравнению с тестом JUnit. Во-вторых, на самом деле не должно быть слишком много написанного, для которого требуется контекст Javascript для тестирования на основе вашего дизайна и структуры кода; в первую очередь из-за проблемы 1, но также помните, что вы пишете что-то с помощью представления GWT прямо сейчас, но вы действительно хотите, чтобы это было как можно более независимым от технологии представления. Таким образом, когда Swing добьется своего триумфального возвращения к возвышению, вам будет гораздо проще перенести его. Я шучу, более вероятным сценарием будет портирование на Android или кто знает, что еще в будущем.
Таким образом, GWTUnit работает очень медленно из-за среды, в которой он должен развиваться, и во всей реальности вы должны (ИМХО) выделять свою бизнес-логику, чтобы вы не были вечно связаны ни с одним представлением Технология рендеринга. По моему мнению, большая часть вашей логики, которая может быть отделена от мира UI, состоящего из виджетов и панелей, должна быть, будь то логика типа потока управления, логика валидации или что-то иное, чем просто вывод объектов на экран и получение и вывод значений из них. Все остальное должно быть вне этих классов в более крупном проекте и принимать объекты в качестве входных данных, которые никак не связаны с GWT. Если вы сделаете это, вы можете JUnit подавляющее большинство вашего приложения, которое смехотворно быстро, и вам не придется ждать вечно (в большом проекте интенсивное освещение с GWTUnit займет часы, может быть, дни). Я не буду рассказывать о том, насколько хороша поддержка кодового кода для сильных юнит-тестов.
Эта напыщенность основана на последней задаче, которую я выполнил здесь на моей текущей работе, там был набор бизнес-логики, который был связан со слоем представления, который имел (в конце раскручивания и создания полного модуля набор тестов) 178 различных сценариев, чтобы все должны были выполняться правильно. Это было то, что никогда не следовало знать, что оно работает в GWT, но оно было кратким и пронизано ссылками на классы технологии представления. Фактически, это было то, что уже было написано для более ранней версии программного обеспечения и не сильно изменилось, но они обернули логику в этом слое представления (который был Swing). Новая команда только что повторила грехи предыдущей команды, и из-за этого этот участок кода потребовал нескольких часов ручного тестирования, которое, я уверен, не охватило 100% сценариев, в отличие от быстрого нескольких секундного юнит-теста это управляет ими всеми.