Рефакторинг правил JUnit из тестов
У меня есть несколько тестов и я использую junit с ними. Во всех моих тестовых файлах у меня есть оператор junit @Rule. лайк:
public @Rule
TestWatcher resultReportingTestWatcher = new TestWatcher(this);
Это и несколько других утверждений существуют во всех моих тестовых файлах. Это повторение кода немного беспокоит меня, так как я думаю, что эти строки могут быть перемещены в отдельное место и могут быть использованы оттуда.
Я не очень уверен, что это можно сделать, так как я очень плохо знаком с junit
, Нужна уловка.
1 ответ
Решение
Вы можете положить общий Rule
s в родительском классе:
public class AbstractTest {
@Rule public SomeRule someRule = new SomeRule();
}
public class YourTest extends AbstractTest {
@Test public void testMethod() {
someRule.blah();
// test some things
}
}