Различное отключение для каждого @Test в jUnit

Есть ли способ определить различное отключение для каждого @Test в jUnit?

Ответ 1

Используйте аннотацию @After, чтобы указать, что метод запускается после каждого @Test.

Полный набор аннотаций, таких как:

  • @BeforeClass - перед запуском всех @Tests
  • @Before - перед запуском каждого @Test
  • @After - после выполнения каждого @Test
  • @AfterClass - после запуска @Tests

Я просто понял, что, возможно, не понял этого вопроса. Если вы спрашиваете, как связать конкретный метод teardown с конкретным методом @Test, нет необходимости в аннотациях: просто позвоните в конце вашего тестового метода в конце:

@Test
public void someTest() {
    try {
        // test something
    } finally {
        someParticularTearDown();
    }
}

Ответ 2

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

Как только вы начнете использовать отдельные методы слежения, обоснование того, почему вы хотите сгруппировать тесты вместе в одном классе, не является очевидным. Таким образом, вы можете управлять этой ситуацией, проявляя гибкость в отношении того, как вы группируете свои тесты в классах.

Ответ 3

В JUnit нет простого способа сделать это. С помощью TestNG вы можете поместить свои методы в группы, чтобы вы могли определить определенный метод @BeforeMethod/@AfterMethod, который запускается только для определенных групп.