在我的Spring Boot应用程序中,我有一个从环境变量读取URL的服务。
@Service
@RequiredArgsConstructor
class CategoryService {
@Value("${MY_URL}")
private String url;
private final RestTemplate restTemplate;
// .......
}
我要创建一个单元测试,并且必须从application-test.properties
中的\test\resources
文件中获取URL。像这样在application-test.properties
声明变量
MY_URL=https://my.url
运行测试时,我发现服务中的url
变量为null
@RunWith(SpringJUnit4ClassRunner.class)
@TestPropertySource("classpath:application-test.properties")
public class CategoryServiceTest {
@InjectMocks
private CategoryService categoryService;
@Test
public void myTest() {
categoryService.callSomeMethod();
// HERE I SEE THAT MY_URL is null
}
}
有人可以向我解释我所缺少的东西吗?是否可以无反射地设置它?