在JUnit测试中使用设置器,而无需在课堂上使用设置器

帕特里克

可以说,我有一个名为实体Fooidname(简化类):

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调用。我正在使用Springjpa如果有必要知道的话。

帕特里克

感谢Deinum先生的评论简单而完美的解决方案是使用ReflectionTestUtils

@Test
public void testFoo() {
  Foo foo = new Foo();
  ReflectionTestUtils.setField(foo, "id", 1L);
  // assertion
}

请注意:ReflectionTestUtils来自春季:org.springframework.test.util.ReflectionTestUtils

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在课堂上使用装饰器

来自分类Dev

在课堂上使用$ _GET

来自分类Dev

在课堂上使用namedtuple

来自分类Dev

在课堂上使用$ _GET

来自分类Dev

如何在课堂上使用共享首选项来设置所有活动?

来自分类Dev

使用私有设置器测试属性

来自分类Dev

使用VisualStudioOnline测试控制器设置

来自分类Dev

没有在课堂上设置变量

来自分类Dev

无需使用Node.js设置本地服务器?

来自分类Dev

在upsert中使用mgo聚合迭代器数据而无需拆封

来自分类Dev

在许多VC中使用活动指示器,而无需快速复制代码

来自分类Dev

使用WEKA在多标签设置中使用kNN分类器

来自分类Dev

创建Web服务器而无需在路由器设置中指定

来自分类Dev

如何设置TeamCity以与Cypress一起使用,而无需为每次测试执行安装节点,xvfb,cypress

来自分类Dev

在课堂上使用析构函数

来自分类Dev

我可以在课堂上使用__autoload吗?

来自分类Dev

无法在课堂上使用此函数调用

来自分类Dev

在课堂上使用TCA的TYPO3

来自分类Dev

如何在课堂上使用MySQLi

来自分类Dev

Angular 4 / TypeScript HttpModule 在课堂上的使用

来自分类Dev

如何在课堂上使用依赖注入?

来自分类Dev

在属性设置器中使用正则表达式

来自分类Dev

在JS中使用计时器设置变量

来自分类Dev

无法在PowerShell中使用ADSI设置管理器属性

来自分类Dev

如何在临时设置器中使用Mapstruct

来自分类Dev

在Windows中使用特定的解释器设置virtualenv

来自分类Dev

如何在Mule中使用activemq设置JMS轮询器

来自分类Dev

在软件RAID设置中使用SATA分离器?

来自分类Dev

在非 DHCP 网络中使用 DHCP 设置路由器