Рефакторинг правил JUnit из тестов

У меня есть несколько тестов и я использую junit с ними. Во всех моих тестовых файлах у меня есть оператор junit @Rule. лайк:

public @Rule
TestWatcher resultReportingTestWatcher = new TestWatcher(this);

Это и несколько других утверждений существуют во всех моих тестовых файлах. Это повторение кода немного беспокоит меня, так как я думаю, что эти строки могут быть перемещены в отдельное место и могут быть использованы оттуда.

Я не очень уверен, что это можно сделать, так как я очень плохо знаком с junit, Нужна уловка.

1 ответ

Решение

Вы можете положить общий Rules в родительском классе:

public class AbstractTest {
    @Rule public SomeRule someRule = new SomeRule();
}
public class YourTest extends AbstractTest {
    @Test public void testMethod() {
        someRule.blah();
        // test some things
    }
}
Другие вопросы по тегам