Spring Boot @RestClient показывает, как тестировать на реальном сервере (не макет) - PullRequest
0 голосов
/ 29 октября 2019

Мне нужно создать интеграционный тест для REST API. Мой сервис использует Resttemplate в качестве HTTP-клиента. Код клиента генерируется из файла подкачки.

Запуск теста приводит к ошибке java.lang.AssertionError: No further requests expected: HTTP GET

Кажется, что тест выполняется на фиктивном сервере. Как запустить тест на реальном сервере?

Это мои текущие настройки теста (хотите вырезать минимальный тестовый фрейм, чтобы получить быстрый тест - загрузка всего контекста слишком медленная):

@RunWith(SpringRunner.class)
@Import(value = { TpzConfig.class, TpzServiceRestImpl.class, ManufacturingPlantPhPmMapperImpl.class,
        ProductHierarchyMapperImpl.class, PlantMapperImpl.class })
@ActiveProfiles(profiles = { "tpz" })
@RestClientTest
public class TpzServiceRestImplTest {

    @Autowired
    private TpzService to;

    @MockBean
    private ProductionPlantService ppService;

    @MockBean
    private ProductHierarchyService phService;

    @Test
    public void test() {
        List<ProductManufacturer> pmByProductHierarchy = to.pmByProductHierarchy("001100909100100388");

    }

}

Мне нужно @RestClientTest, чтобы иметь bean-компонент RestTemplateBuilder.

Есть ли способ настроить @RestClientTest для использования реального сервера (аналогично @DataJpaTest, где я не могу настроитьиспользовать h2)?

...