mem*_*und 8 java junit spring spring-test
我有一个ConfigurationProperties课,想要使用它进行测试junit.但对象总是如此null.以下代码中可能缺少什么?
@EnableAutoConfiguration
@ComponentScan
@EnableConfigurationProperties(MyProperties.class)
public class AppConfig {
}
@Service
public class MyService {
@Autowired
private MyProperties props;
public void run() {
props.getName();
}
}
@Component
@ConfigurationProperties(prefix = "my")
public class MyProperties {
private String name;
//getter,setter
}
Run Code Online (Sandbox Code Playgroud)
application.properties:
my.name=test
Run Code Online (Sandbox Code Playgroud)
测试:
@Configuration
@ComponentScan(basePackageClasses = {MyService.class, MyProperties.class},
includeFilters = @ComponentScan.Filter(value = {MyService.class, MyProperties.class},
type = FilterType.ASSIGNABLE_TYPE),
lazyInit = true
)
@PropertySources(
@PropertySource("application.properties")
)
class AppTest {
@Bean
public static PropertySourcesPlaceholderConfigurer propertiesResolver() {
return new PropertySourcesPlaceholderConfigurer();
}
}
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = ApplicationConfigTest.class)
public class MyTest extends AbstractJUnit4SpringContextTests {
@Autowired
private MyService service;
@Test
public void testService() {
service.run();
}
}
Run Code Online (Sandbox Code Playgroud)
Mik*_*dmo 11
以下内容将为您加载:
@ContextConfiguration(classes = Application.class, initializers = ConfigFileApplicationContextInitializer.class)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6195 次 |
| 最近记录: |