加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala或Java相当于Ruby factory_girl或Python factory_boy(用于

发布时间:2020-12-16 18:32:44 所属栏目:安全 来源:网络整理
导读:当我在动态类型的 Ruby或 Python中编写单元测试时,我分别使用库 factory_girl和 factory_boy,以便方便地生成测试对象.它们提供了直接对象实例化的便捷功能,例如: 工厂继承和覆盖 字段默认值和覆盖 延迟计算的依赖/派生字段 构建依赖/相关的其他对象 隐式惰
当我在动态类型的 Ruby或 Python中编写单元测试时,我分别使用库 factory_girl和 factory_boy,以便方便地生成测试对象.它们提供了直接对象实例化的便捷功能,例如:

>工厂继承和覆盖
>字段默认值和覆盖
>延迟计算的依赖/派生字段
>构建依赖/相关的其他对象
>隐式惰性字段依赖性解析

在静态类型的Java或Scala中编写单元测试时,我可以使用哪些库/框架来实现具有类似优点的类似效果?

提前致谢!

我在过去的here中发现了一个类似的StackOverflow问题,但不幸的是,最好的答案是(释义),“没有直接的等价,因为那将毫无意义”.

解决方法

有一个名为Fixture-Factory( https://github.com/six2six/fixture-factory)的项目.它基于Factory-Girl的想法.

您可以轻松创建对象的模板定义:

Fixture.of(Client.class).addTemplate("valid",new Rule(){{
  add("id",random(Long.class,range(1L,200L)));
  add("name",random("Anderson Parra","Arthur Hirata"));
  add("nickname",random("nerd","geek"));
  add("email","${nickname}@gmail.com");
  add("birthday",instant("18 years ago"));
  add("address",one(Address.class,"valid"));
}});

然后您可以在测试中轻松使用它:客户端客户端= Fixture.from(Client.class).gimme(“valid”);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读