Весенний контекст приложения null в JunitJAVA

Программисты JAVA общаются здесь
Anonymous
Весенний контекст приложения null в Junit

Сообщение Anonymous »

Я пытаюсь запустить некоторые модульные тесты на некоторых объектах данных, которые я использую в пружине.@ExtendWith(SpringExtension.class)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@TestPropertySource(
locations = "classpath:application.properties")
@JdbcTest
public class TestInventory {

@Autowired
DataSource dataSource;

@Test
public void testFinishedGoods() throws SQLException {
....
}
}
< /code>
Я получаю ошибку, потому что в одном из моих объектов данных я получаю доступ к кэшу, как это: < /p>
var ctx = ApplicationContextProvider.getApplicationContext();
CacheRepository cacheRepository = ctx.getBean(CacheRepository.class);
Currency currencyObj = cacheRepository.getCurrencyList().stream().filter(cur -> cur.identity() == currency).findFirst().orElseThrow();
currencyRate = currencyObj.rate();
< /code>
Это прекрасно работает в веб -приложении, но в Jinit i get: < /p>

Java.lang.nullPointerException: невозможно вызвать «org.springframe.context.application context.getbean (java.lang.lang.class)" Потому что "ctx ctx context.getbean (java.lang.lang. /> < /blockquote>
Я реализовал ApplicationContextProvider As ApplicationContextAware, который работает нормально. Только у Junit есть проблема.
Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/794 ... l-in-junit

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