Как лучше всего запустить множество интеграционных тестов с использованием JUnit?
Я грубо обнаружил, что приведенный ниже код может выполнять все тесты ... но у него есть огромный недостаток. Метод tearDown () в каждом из этих классов не вызывается до тех пор, пока все они не будут запущены.
public class RunIntegrationTests extends TestSuite {
public RunIntegrationTests(){
}
public static void main (String[] args){
TestRunner.run(testSuite());
}
public static Test testSuite(){
TestSuite result = new TestSuite();
result.addTest(new TestSuite(AgreementIntegrationTest.class));
result.addTest(new TestSuite(InterestedPartyIntegrationTest.class));
result.addTest(new TestSuite(WorkIntegrationTest.class));
// further tests omitted for readability
return result;
}
}
Выполняемые классы подключаются к базе данных, загружают объект и отображают его в JFrame. Я переопределил метод setVisible, чтобы включить тестирование. На нашей сборочной машине java vm не хватает памяти при выполнении кода выше, так как объекты, которые он должен загрузить из базы данных, довольно большие. Если метод tearDown () вызывается после завершения каждого класса, это решит проблемы с памятью.
Есть ли лучший способ запустить их? Кстати, мне приходится использовать JUnit 3.8.2 - мы все еще на Java 1.4: (