我在执行测试案例时从.properties文件中读取值时,我的零是无效的。在这里调试测试用例时,我可以在检查类中存在时从属性文件中加载的值,但是当光标器进入该类别的实际类时,我获得的值与NULL相同。我的代码如下
预先感谢
@RestController
@PropertySource("classpath:/com/example/prop.properties")
public class ReadProp {
@Value("${name}")
private String name;
@Value("${rollNo}")
private String rollNo;
@RequestMapping(value="/")
public void getDetails(){
System.out.println(name);
System.out.println(rollNo);
}
}
and the test case is as follows
@RunWith(SpringRunner.class)
@SpringBootTest
@PropertySource("classpath:/com/example/prop.properties")
public class ReadPropTest {
private ReadProp readProp = new ReadProp();
@Value("${name}")
private String name;
@Value("${rollNo}")
private String rollNo;
@Test
public void readValues() {
System.out.println(name);
System.out.println(rollNo);
readProp.getDetails();
}
}
而不是使用new ReadProp()
创建新对象。您应该自动引起它。
@Autowired
ReadProp readProp;
在您的测试课中。如果您使用新对象创建一个对象,则不会获得使用@Value
分配的所有值创建的spring。
尝试这样的东西:
@PropertySource("classpath:prop.properties")// your error
public class ReadPropTest {
@Value("${name}")
private String name;
@Value("${rollNo}")
private String rollNo;
}