Ошибка: java.lang.IllegalArgumentException: URI не должен быть нулевым при использовании RestAssured в SpringBootTest прJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка: java.lang.IllegalArgumentException: URI не должен быть нулевым при использовании RestAssured в SpringBootTest пр

Сообщение Anonymous »

Это абстрактный класс BaseTest, в котором задается конфигурация:

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

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public abstract class BaseIntegration {

@Value("${local.server.port}")
private int serverPort;

@Before
public void setup() {
RestAssured.port = serverPort;
}}
Тестовый класс очень прост:

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

public class TestIT extends BaseIntegration{//Test Code}

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

RestClient
создано с помощью RestAssured :

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

public static TestResponse postResponse(TestRequest request) {

return given().log().all()
.contentType(ContentType.JSON)
.body(request)
.when()
.log().all()
.post("/weather")
.as(TestResponse.class);

}
Когда тест выполняется в Teamcity, вот что говорит журнал ошибок:

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

java.lang.IllegalArgumentException: URI must not be null
at org.springframework.util.Assert.notNull(Assert.java:134) ~[spring-core-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.util.UriComponentsBuilder.fromUriString(UriComponentsBuilder.java:189) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.util.DefaultUriTemplateHandler.initUriComponentsBuilder(DefaultUriTemplateHandler.java:114) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.util.DefaultUriTemplateHandler.expandInternal(DefaultUriTemplateHandler.java:103) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.util.AbstractUriTemplateHandler.expand(AbstractUriTemplateHandler.java:106) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:612) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:407) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
Я не использую RestTemplate или TestRestTemplate. Есть еще один тест, который использует это, и этот тест работает нормально. Я не могу понять, что может быть причиной проблемы.
РЕДАКТИРОВАТЬ:
Похоже, что конечная точка службы использует RestTemplate

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

restTemplate.postForEntity(url, body, TestResponse.class);
При вызове конечной точки мой тест не удался. Я думаю, что есть некоторые проблемы совместимости с библиотеками RestTemplate и RestAssured.

Подробнее здесь: https://stackoverflow.com/questions/466 ... sing-resta
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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