Я использую JUnit5 с SpringExtension
.Но по какой-то причине первый тест проходит успешно, в то время как второй не проходит
Может кто-нибудь сказать мне, почему это не удается?
package com.acme;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = ConfigurationTest.Config.class)
public class ConfigurationTest {
@Test
void explicitContextTest() {
AnnotationConfigApplicationContext applicationContext =
new AnnotationConfigApplicationContext(Config.class);
assertThat(applicationContext.getBean(Skeleton.class)).isNotNull();
}
@Test
void contextConfigInjectionTest(Skeleton skeleton) {
assertThat(skeleton).isNotNull();
}
@Configuration
static class Config {
@Bean
Skeleton skeleton() {
return new SkeletonImpl();
}
}
interface Skeleton {
}
static class SkeletonImpl implements Skeleton {
}
}
PS: Если я добавлю @ComponentScan
на Config
уровне класса,Второй тест также удастся.Вопрос скорее в том, почему весенний тест не может обнаружить явно определенные бины, если я не прошу его сканировать явно