Мне нужно создать интеграционный тест для 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)?