Тестировать метод void с логическими условиями с JUnit - PullRequest
1 голос
/ 08 мая 2020

Я пытаюсь протестировать метод void, который имеет логические условия внутри с помощью Junit

/** Method to create request */
public void createRequest(String name) {

  if (verifyName(name)) {
    testRepo.getRequest(name); // Void method from test repo
    demoRepo.testMethod(name); // Another void method from demo repo
  }
}

/** Validate name */
private boolean verifyName(String name) {

 return "Test".equals(name);
}

В этом случае, как лучше всего протестировать метод void, когда verifyName () возвращает true/false с JUnit ??

Ожидаемый сценарий тестирования ios:

  1. verifyName () возвращает true -> assert или убедитесь, что методы выполняются.
  2. verifyName () return false -> assert или убедитесь, что методы не будут выполнены.

1 Ответ

0 голосов
/ 08 мая 2020

вы можете проверить, вызывается ли какая-то функция или нет на основе условия

попробуйте что-то вроде этого

@Test
public void testValidName() {
    service.createRequest("Test");
    verify(testRepo, times(1)).getRequest();
    verify(demoRepo, times(1)). testMethod();
}
...