当前位置: 首页 > news >正文

亳州电商网站建设关于学校网站建设经费的申请

亳州电商网站建设,关于学校网站建设经费的申请,网站建设与设计毕业shej,查询网站服务器类型idea使用junit测试这并不是要成为技术含量很高的职位。 这篇文章的目的是为您提供一些指导#xff0c;以使您的JUnit测试生活更加轻松#xff0c;使您能够在几分钟内编写复杂的测试场景#xff0c;并获得具有高度可读性的测试。 单元测试中有两个主要部分#xff0c;需要编… idea使用junit测试 这并不是要成为技术含量很高的职位。 这篇文章的目的是为您提供一些指导以使您的JUnit测试生活更加轻松使您能够在几分钟内编写复杂的测试场景并获得具有高度可读性的测试。 单元测试中有两个主要部分需要编写许多引导程序代码 设置部分构建初始状态需要构建将被馈送到SUT被测系统的初始对象 断言部分构造输出对象的所需图像并仅对所需数据进行断言。 为了降低构建用于测试的对象的复杂性我建议在以下解释中使用Builder模式 这是域对象 public class Employee {private int id;private String name;private Department department;//setters, getters, hashCode, equals, toString methods 此域对象的生成器将如下所示 public class EmployeeBuilder {private Employee employee;public EmployeeBuilder() {employee new Employee();}public static EmployeeBuilder defaultValues() {return new EmployeeBuilder();}public static EmployeeBuilder clone(Employee toClone) {EmployeeBuilder builder defaultValues();builder.setId(toClone.getId());builder.setName(toClone.getName());builder.setDepartment(toClone.getDepartment());return builder;}public static EmployeeBuilder random() {EmployeeBuilder builder defaultValues();builder.setId(getRandomInteger(0, 1000));builder.setName(getRandomString(20));builder.setDepartment(Department.values()[getRandomInteger(0, Department.values().length - 1)]);return builder;}public EmployeeBuilder setId(int id) {employee.setId(id);return this;}public EmployeeBuilder setName(String name) {employee.setName(name);return this;}public EmployeeBuilder setDepartment(Department dept) {employee.setDepartment(dept);return this;}public Employee build() {return employee;} } 如您所见我们有一些工厂方法 public static EmployeeBuilder defaultValues()public static EmployeeBuilder clone(Employee toClone)public static EmployeeBuilder random() 这些方法返回不同的构建器 defaultValues每个字段的一些硬编码值或Java默认值-当前实现 clone将获取初始对象中的所有值并使您可以更改其中一些值 random将为每个字段生成随机值。 当您有很多在测试中不需要的字段时非常有用但是您需要对其进行初始化。 getRandom *方法是在另一个类中静态定义的。 您可以添加其他方法来根据需要初始化构建器。 此外构建器还可以处理一些不那么容易构建和更改的对象。 例如让我们稍微更改Employee对象使其不可变 public class Employee {private final int id;private final String name;private final Department department;... } 现在我们失去了按需更改字段的可能性。 但是使用以下形式的构建器我们可以在构造对象时重新获得这种可能性 public class ImmutableEmployeeBuilder {private int id;private String name;private Department department;public ImmutableEmployeeBuilder() {}public static ImmutableEmployeeBuilder defaultValues() {return new ImmutableEmployeeBuilder();}public static ImmutableEmployeeBuilder clone(Employee toClone) {ImmutableEmployeeBuilder builder defaultValues();builder.setId(toClone.getId());builder.setName(toClone.getName());builder.setDepartment(toClone.getDepartment());return builder;}public static ImmutableEmployeeBuilder random() {ImmutableEmployeeBuilder builder defaultValues();builder.setId(getRandomInteger(0, 1000));builder.setName(getRandomString(20));builder.setDepartment(Department.values()[getRandomInteger(0, Department.values().length - 1)]);return builder;}public ImmutableEmployeeBuilder setId(int id) {this.id id;return this;}public ImmutableEmployeeBuilder setName(String name) {this.name name;return this;}public ImmutableEmployeeBuilder setDepartment(Department dept) {this.department dept;return this;}public ImmutableEmployee build() {return new ImmutableEmployee(id, name, department);} } 当我们难以构造对象或需要更改最终字段时这非常有用。 这是它的最终结果 没有建设者 Testpublic void changeRoleTestWithoutBuilders() {// building the initial stateEmployee employee new Employee();employee.setId(1);employee.setDepartment(Department.DEVELOPEMENT);employee.setName(John Johnny);// testing the SUTEmployeeManager employeeManager new EmployeeManager();employeeManager.changeRole(employee, Department.MANAGEMENT);// building the expectationsEmployee expectedEmployee new Employee();expectedEmployee.setId(employee.getId());expectedEmployee.setDepartment(Department.MANAGEMENT);expectedEmployee.setName(employee.getName());// assertionsassertThat(employee, is(expectedEmployee));} 与建设者 Testpublic void changeRoleTestWithBuilders() {// building the initial stateEmployee employee EmployeeBuilder.defaultValues().setId(1).setName(John Johnny).setDepartment(Department.DEVELOPEMENT).build();// building the expectationsEmployee expectedEmployee EmployeeBuilder.clone(employee).setDepartment(Department.MANAGEMENT).build();// testing the SUTEmployeeManager employeeManager new EmployeeManager();employeeManager.changeRole(employee, Department.MANAGEMENT);// assertionsassertThat(employee, is(expectedEmployee));} 如您所见测试的大小要小得多对象的构造也变得更加简单如果代码格式更好也会更好。 如果您具有更复杂的域对象在实际应用程序中尤其是在遗留代码中则差异更大。 玩得开心 参考来自Java出现日历博客的JCG合作伙伴 Stefan Bulzan 在JUnit测试中使用了Builder模式 。 翻译自: https://www.javacodegeeks.com/2012/12/using-builder-pattern-in-junit-tests.htmlidea使用junit测试
http://www.yutouwan.com/news/283341/

相关文章:

  • 济南装饰行业网站建设苏州建筑设计公司
  • 杨浦企业网站建设屏蔽wordpress更新
  • 网站怎么实现手机号注册会员品牌网站建设小蝌蚪2a
  • 北京定制公交网站网站公司销售
  • 购物网站名字江门网站建设服务
  • 昌平做网站重庆餐饮品牌策划公司
  • 物流网站公司代码分享wordpress
  • 绵阳市建设工程质量监督站网站福田建网站公司
  • 天门市住房和城乡建设网站wordpress添加子主题
  • 雅虎网站收录入口建筑工程公司有哪些职位
  • 蒙自建设网站wordpress防cc
  • 打电话叫人做网站建立一个公司自己的网站
  • 做logo网站使用joomla的网站
  • 北京网站设计公司jq成都柚米科技15如何把网站让百度录用
  • 网站播放功能难做吗合肥外贸网站建设公司
  • 电子相册在线制作网站东莞网站建设 少儿托管
  • 涪陵建设工程信息网站wordpress活动插件
  • 做旅游攻略网站备案 网站
  • 付费做网站关键词优化是怎么做的呀做外贸上哪些网站找客户
  • 北京建站模板源码线下推广渠道和方式
  • 音乐中文网站模板下载做园林景观的网站
  • 网站建设与电子商务的教案free wordpress themes
  • 做计算机网站的总结网站服务器租赁需要什么手续
  • 云南网站设计平台网站和网络有什么区别
  • 站长之家源码下载湖南网站营销优化开发
  • 企业建设网站需要注意什么手续怎么做软件程序
  • 头像设计制作网站阿里云官网首页
  • php怎么建立站点物业管理系统和物业管理软件
  • 郑州网站推广公司排名苏州电商系统开发
  • 邢台wap网站建设报价重庆建设岗位培训网站