Правила используются для улучшения поведения каждого метода тестирования в общем виде. Правило Junit перехватывает тестовый метод и позволяет нам что-то делать до того, как тестовый метод начнет выполнение и после того, как тестовый метод был выполнен.
Например, используя правило @Timeout, мы можем установить время ожидания для всех тестов.
public class TestApp {
@Rule
public Timeout globalTimeout = new Timeout(20, TimeUnit.MILLISECONDS);
......
......
}
Правило @TeoraryFolder используется для создания временных папок, файлов. Каждый раз, когда выполняется метод теста, создается временная папка, которая удаляется после выполнения метода.
public class TempFolderTest {
@Rule
public TemporaryFolder tempFolder= new TemporaryFolder();
@Test
public void testTempFolder() throws IOException {
File folder = tempFolder.newFolder("demos");
File file = tempFolder.newFile("Hello.txt");
assertEquals(folder.getName(), "demos");
assertEquals(file.getName(), "Hello.txt");
}
}
Вы можете увидеть примеры некоторых встроенных правил, предоставленных junit по этой ссылке .