可以说,我有一个名为实体Foo
与id
和name
(简化类):
public class Foo {
private long id;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getId() {
return id;
}
}
在我的应用程序中,我不希望id
手动设置任何位置。因为foo
只会来自DB。因此,我没有为此创建塞特犬。
现在我想让JUnit测试一些我想实例化的方法foo
。是否id
可以为JUnit测试设置公正?
PS:一种可能的解决方案是foo
先从数据库接收并进行测试。但是要避免DB调用。我正在使用Spring
,jpa
如果有必要知道的话。
感谢Deinum先生的评论。简单而完美的解决方案是使用ReflectionTestUtils
。
@Test
public void testFoo() {
Foo foo = new Foo();
ReflectionTestUtils.setField(foo, "id", 1L);
// assertion
}
请注意:ReflectionTestUtils
来自春季:org.springframework.test.util.ReflectionTestUtils
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句