Предположим, у нас есть несколько наборов тестов:
@RunWith(Suite.class)
@Suite.SuiteClasses({
Tests1.class,
Tests2.class,
})
public class TestSuite1 {
}
@RunWith(Suite.class)
@Suite.SuiteClasses({
Tests3.class,
Tests4.class,
})
public class TestSuite2 {
}
Можно ли было бы гибко добавить разрыв @AfterClass без необходимости добавлять один и тот же блок кода во все классы TestSuite *?
@AfterClass
public static void baseTearDown() {
// Close some resourcess
}
Вы можете создать служебный класс, но что означает с гибким ??
@gkgkgkgk по моему опыту, для больших проектов, которые могут быть громоздкими в обслуживании.
Мне было интересно, можем ли мы использовать магию Guice, чтобы избежать ручного редактирования "extends ...".
@lealceldeiro как так? Не возражаю, просто любопытно.
@gkgkgkgk, если вы настраиваете логику tearDow в базовом классе и используете ее в качестве родительского класса для множества подклассов ... когда в будущем произойдет какое-то незначительное изменение и вам потребуется изменить логику tearDown, это может применяться кейсы (базового класса), но не для всех. Это когда начинается хаос, потому что может быть действительно сложно отследить, где находятся отказы, базовый класс? конкретный модульный тест? и список продолжается.
@gkgkgkgk, возможно, вы захотите взглянуть на petrikainulainen.net/programming/unit-testing/…, stackoverflow.com/questions/6715281/…
@lealceldeiro, спасибо за информацию! Оба были хорошими чтениями. хорошо знать




Вы можете написать родительский класс для всех ваших наборов с помощью метода afterclass