Как я могу исправить TypeConvertertersUpport для Spring Boot 3.x при использовании классов ContextConfiguration?JAVA

Программисты JAVA общаются здесь
Anonymous
Как я могу исправить TypeConvertertersUpport для Spring Boot 3.x при использовании классов ContextConfiguration?

Сообщение Anonymous »

У меня есть базовые yaml, как < /p>

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

myThing:
someValue: 10
< /code>
И я запускаю свои тесты и сталкиваюсь с форматированием исключений, окружающих < /p>
TypeConverterSupport.convertIfNecessary(TypeConverterSupport.java:80)

, где он пытается проанализировать строки в целые числа, или целые числа к струнам или струнам для Localdate, все, что мое приложение может делать хорошо, когда оно загружает весь весенний контекст загрузки с аннотацией, как @springboottest
edit: я думаю, что я просто упускаю это поведение в этом поведенном классе. @ContextConfiguration Но я не могу найти его на всю жизнь, и я потратил часы на это.package com.example.demo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class MyThing {
@Value("${myThing.myValue}")
private Integer myValue;

public Integer getMyValue() {
return myValue;
}
}

< /code>
package com.example.demo;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;

import static org.junit.jupiter.api.Assertions.assertEquals;

@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {MyThing.class}) // Won't be able to load the context
class DemoApplicationTests {

@Autowired
private MyThing myThing;

@Test
void contextLoads() {
assertEquals(10, myThing.getMyValue());
}

}
< /code>
myThing:
myValue: 10
< /code>

вызван: java.lang.numberformatexception: для входной строки: "$ {mything.myvalue}"
at java.base /java.lang.numberformatexcept java.base /java.lang.integer.parseint (integer.java:654)
at java.base /java.lang.integer.valueof (integer.java:999)
at org.spramework.util.numbertils.parseNumb org.springframework.beans.propertyeditors.customnumbereditor.setastext (customnumbereditor.java:115)
at org.springframework.beans.typeconverterdelegate.doconvertextvalue (typeconverterdelegate.java: org.springframework.beans.typeconverterdelegate.doconvertvalue (typeconverterdelegate.java:412)
at org.springframework.beans.typeconverterdelegate.convertifnecessary (typeconverterdelegate.java:161)
> org.springframework.beans.typeconvertertersupport.convertifnecessary (typeconvertertersupport.java:80)
... 39 больше

Использование @springtest Загружает полный контекст с помощью Сервиса COVERTER и тестовые проходы.>

Подробнее здесь: https://stackoverflow.com/questions/790 ... extconfigu

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