Как отключить сервер WireMock для одного теста?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как отключить сервер WireMock для одного теста?

Сообщение Anonymous »

Я пишу тесты для своего сервиса Spring Boot. Я использую Wiremock для имитации HTTP-запросов. Мне нужно временно отключить сервер WireMock для одного конкретного теста, чтобы имитировать недоступность внешней службы.
Вот мой текущий тестовый класс:

Код: Выделить всё

@SpringBootTest(classes = {ArticleService.class, ArticleServiceTest.TestConfig.class})
@WireMockTest(httpPort = 8080, proxyMode = true)
public class ArticleServiceTest {

@Autowired
private ArticleService articleService;

@TestConfiguration
public static class TestConfig {
@Bean
@Primary
public ArticleServiceConfiguration articleServiceConfiguration() {
ArticleServiceConfiguration configuration = Mockito.mock(ArticleServiceConfiguration.class);
Mockito.when(configuration.getUri()).thenReturn(URI.create("http://article-service:8080"));
return configuration;
}
}

@Test
public void saveArticle() {
// This test works well
String expectedJson = """
{
"title": "Test Title",
"content": "Test Content",
"creatorId": 1
}""";

stubFor(post(urlEqualTo("/internal/articles"))
.withHost(equalTo("article-service"))
.willReturn(ok()));

ArticleDto dto = new ArticleDto("Test Title", "Test Content", 1L);
articleService.saveArticle(dto);

verify(postRequestedFor(urlEqualTo("/internal/articles"))
.withRequestBody(equalToJson(expectedJson)));
}

@Test
public void saveArticleWhenServerIsUnavailable() {
// How to disable the wiremock server here?
ArticleDto dto = new ArticleDto("Test Title", "Test Content", 1L);
assertThrows(ServerUnavailableException.class, () -> articleService.saveArticle(dto));
}
}
Так как же мне правильно остановить сервер WireMock для одного теста, оставив его включенным для других?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ingle-test
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»