SpringBoot 测试类,注入为null处理

368 阅读1分钟

默认是这样的,但是userCenterUrl等值获取不到

@SpringBootTest
@WebAppConfiguration
public class HttpTest {
//    @Value("${smcm.ccm.url}")
    private String url = "http://127.0.0.1:6062/comprehensive-api";
    @Autowired
    private RestTemplate restTemplate;
    @Value("${smcm.user-center.url}")
    private String userCenterUrl;
    @Value("${smcm.user-center.appId}")
    private String appId;

image.png

第一种办法

加两个注解@RunWith(SpringJUnit4ClassRunner.class),@WebAppConfiguration即可

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
@WebAppConfiguration
public class HttpTest {
//    @Value("${smcm.ccm.url}")
    private String url = "http://127.0.0.1:6062/comprehensive-api";
    @Autowired
    private RestTemplate restTemplate;
    @Value("${smcm.user-center.url}")
    private String userCenterUrl;
    @Value("${smcm.user-center.appId}")
    private String appId;

image.png

第二种办法

@ComponentScan(basePackages = {"com.bjsasc.plm"}) // 加上外部包的根
@RunWith(SpringRunner.class)
@SpringBootTest(classes = EdpBackApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class EdpTaskOutputConsParamLinkTest {