Я начинаю играть с весенним загрузочным проектом, пытаясь интегрировать спокойствие. Я пытаюсь создать шаги для использования его в тестах. Итак, это выглядит так:
это класс с интеграционным тестом:
@RunWith(SpringIntegrationSerenityRunner.class)
@SpringBootTest(
webEnvironment = RANDOM_PORT,
classes = io.testoftiramisu.booktour.BooktourApplication.class)
public class TourRatingControllerTest {
private static final String TOUR_RATINGS_URL = "/tours/" + TOUR_ID + "/ratings";
@Autowired private TestRestTemplate restTemplate;
@MockBean private TourRatingService serviceMock;
@Mock private TourRating tourRatingMock;
@Mock private Tour tourMock;
@Before
public void setupReturnValuesOfMockMethods() {
when(tourRatingMock.getComment()).thenReturn(COMMENT);
when(tourRatingMock.getScore()).thenReturn(SCORE);
when(tourRatingMock.getCustomerId()).thenReturn(CUSTOMER_ID);
when(tourRatingMock.getTour()).thenReturn(tourMock);
when(tourMock.getId()).thenReturn(TOUR_ID);
}
@Test
public void getAllRatingsForTour() throws Exception {
List<TourRating> listOfTourRatings = Collections.singletonList(tourRatingMock);
Page<TourRating> page = new PageImpl(listOfTourRatings, PageRequest.of(0, 10), 1);
when(serviceMock.lookupRatings(anyInt(), any(Pageable.class))).thenReturn(page);
ResponseEntity<String> response = restTemplate.getForEntity(TOUR_RATINGS_URL, String.class);
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
verify(serviceMock).lookupRatings(anyInt(), any(Pageable.class));
}
}
Когда я запускаю это - все работает нормально, но когда я помещаю часть этого кода в класс с шагами, я не могу сгенерировать отчет с mvn serenity:aggregate
. Например, вот класс шагов:
public class HelperSteps {
@Step
public ResponseEntity stepForGet(TestRestTemplate restTemplate, String tourRatingsUrl){
return restTemplate.getForEntity(tourRatingsUrl, String.class);
}
}
Тесты пройдены, но после запуска mvn serenity:aggregate
появляется сообщение об ошибке:
Не удалось загрузить требования: org / springframework / boot / test / web / client / TestRestTemplate "
Я полагаю, это потому, что я пытаюсь использовать TestRestTemplate вне контекста или что-то в этом роде.