Проблема с генерацией отчета о весенней загрузке плюс спокойствие - PullRequest
0 голосов
/ 10 марта 2020

Я начинаю играть с весенним загрузочным проектом, пытаясь интегрировать спокойствие. Я пытаюсь создать шаги для использования его в тестах. Итак, это выглядит так:
это класс с интеграционным тестом:

@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 вне контекста или что-то в этом роде.

...