Ниже приведены некоторые из моих опытов.
У JUnit есть «правила», которые позволяют снизить количество кода шаблона.Например, правило может запустить контейнер сервлета перед тестом и остановить его после, создать и внедрить экземпляр Selenium и так далее.Это делает тесты намного более элегантными.
TestNG поддерживает группы (и их зависимости).Это чрезвычайно полезно для интеграционного тестирования - например, вы можете включить определенные группы в определенных средах.JUnit 4.8 вводит «категории», которые могут быть чем-то похожими.
Spring Test имеет очень хороший подход с «слушателями выполнения теста», которые могут «подготовить» ваши тестовые экземпляры.Это несколько похоже на правила JUnit.Spring Test также является тестом framework-agnostig, то есть ваши тесты будут выглядеть почти одинаково на JUnit или TestNG.Есть также «профили», которые похожи на группы TestNG.
Вот образец приложения JSF, протестированного Selenium, на основе TestNG.Также взгляните на мой пакет Hifaces20 Testing , может быть, вы найдете некоторые идеи полезными.