如何在测试用例中从属性文件中获取值



我在执行测试案例时从.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;
}

相关内容

  • 没有找到相关文章

最新更新