Могу ли я заставить отладчик Junit начать выполнение отладки с помощью пользовательского метода контрольного примера, использующего Eclipse IDE? - PullRequest
0 голосов
/ 17 января 2019

У меня есть тестовый класс, содержащий 3 метода тестирования, как в примере ниже

public class SampleTest {
    @Test
    public void testAdd() {
        // logic of testing ADD
    }
    @Test
    public void testUpdate() {
        // logic of testing UPDATE
    }
    @Test
    public void testDelete() {
        // logic of testing Delete
    }
}

Я хочу отладить ТОЛЬКО второй метод testUpdate()
БЕЗ запуска выполнения любого из других тестовых случаев testAdd() / testDelete()

Когда я ставлю breakpoints во всех методах теста
Я обнаружил, что
Порядок выполнения не предоставлен, а в некоторых случаях testAdd() / testDelete() методы выполняются до testUpdate()
Эти случаи тратят время, потому что мне нужно отладить ТОЛЬКО method2 = testUpdate(),
Так почему я должен ждать, чтобы method1 или method3 были выполнены, однако они выполняются быстро

Подводя итог
Могу ли я заставить отладчик Junit начать выполнение с помощью пользовательского метода тестового примера с использованием Eclipse IDE?

Ответы [ 4 ]

0 голосов
/ 17 января 2019

Большое спасибо комментарию @Dmytro.
Решение будет

  1. В представлении Package Explorer или Outline
  2. Разверните тестовый класс, содержащий методы тестирования.
  3. Щелкните правой кнопкой мыши по нужному методу, который вы хотите Debug
  4. Выбрать Debug As => JUnit Test
0 голосов
/ 17 января 2019

вы пытались выбрать метод и нажать кнопку отладки? или вы пытались выполнить целые тесты, а затем выбрали свой метод правой кнопкой мыши и отладки?

0 голосов
/ 17 января 2019

Предпочтительный способ : любая современная IDE может запускать и отлаживать определенный тест.См. Руководство к вашей IDE.

Грязный путь : игнорируйте остальные тестовые примеры, кроме одного:

public class SampleTest {
    @Test
    @Ignore
    public void testAdd() {
        // logic of testing ADD
    }

    @Test
    public void testUpdate() {
        // logic of testing UPDATE
    }

    @Test
    @Ignore
    public void testDelete() {
        // logic of testing Delete
    }
}
0 голосов
/ 17 января 2019

Вы можете использовать порядок выполнения теста:

https://github.com/junit-team/junit4/wiki/test-execution-order

другие средства:

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@FixMethodOrder(MethodSorters.JVM)
@FixMethodOrder(MethodSorters.DEFAULT)

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

...