SpringRunner с параметрами - PullRequest
       16

SpringRunner с параметрами

0 голосов
/ 24 апреля 2020

У меня тест SpringRunner настроен так:

@RunWith(SpringRunner.class)
@WebMvcTest(MyController.class)
public class MyControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @MockBean
    private MyClass handler;

    @Test
    public void myFirstTest() {
         given(handler.handle(any())).willReturn(new Response());

         mockMvc
        .perform(
            post("/forms/TESTFORM/validate")
                .header("ServiceAuthorization", "testServiceAuthHeader")
                .content(requestBody)
        )
        .andExpect(status().isOk())
      }
}

Это проходит нормально. Однако у меня есть несколько типов форм, которые я хочу протестировать как часть myFirstTest. Я пробовал следующее, что приводит к ошибке:

@ParameterizedTest
@MethodSource("formTypes")
public void myFirstTest(String formType) {
     given(handler.handle(any())).willReturn(new Response());

     mockMvc
    .perform(
        post("/forms/" + formType + "/validate")
            .header("ServiceAuthorization", "testServiceAuthHeader")
            .content(requestBody)
    )
    .andExpect(status().isOk())
  }

 private static Stream<String> formTypes() {
    return Stream.of(
        "TESTFORM1",
        "TESTFORM2"
    );
 }

Просто дает

"FAILURE: сборка завершилась с исключением. * Что пошло не так: выполнение задачи не выполнено ': test'. Для данного теста не найдено ни одного теста, включающего: MyControllerTest.myFirstTest [*] "

Есть идеи, как заставить это работать?

...