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

西安市未央区建设局官方网站呼市网站设计

西安市未央区建设局官方网站,呼市网站设计,wordpress官方安装主题,上海房价即将暴跌首先#xff0c;让我大声说一下#xff0c;您需要将代码设计为可测试的#xff0c;以便通过公共方法测试私有字段。 但是#xff0c;#xff08;“ buts”是人们仍在编程而不是计算机本身的原因#xff0c;所以在这里很高兴#xff09;有时您想要并且应该更改一些私有字… 首先让我大声说一下您需要将代码设计为可测试的以便通过公共方法测试私有字段。 但是“ buts”是人们仍在编程而不是计算机本身的原因所以在这里很高兴有时您想要并且应该更改一些私有字段以测试所有可能的边界。 通常可以通过公共获取器和设置器或使用类构造函数来修改私有字段在这种情况下测试很容易创建并且每个人都很高兴。 但是当您使用诸如Spring之类的外部框架时可能无法控制注入的私有字段。 在上一篇文章中我已经解释了如何在测试中模拟spring组件而无需维护和创建即席测试spring configuraitons 这里我将向您展示如何为测试修改私有变量。 让我们说一下代码 import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.google.common.collect.ImmutableSet; Service public class SomeService {Value(${whitelist.api.users:A,B,C})private String apiUsers;private ImmutableSetString acceptableAPIBUsers;PostConstructpublic void init() {acceptableAPIBUsers ImmutableSet.copyOf(apiUsers.replaceAll( , ).split(,));}public boolean isAnAcceptableUser(String user) {return user null ? false : acceptableAPIBUsers.contains(user.toUpperCase());} } 我们无法控制apiUsers字符串因此我们有几个简单的选项一个是为测试创建一个Spring配置修改Spring上下文并模拟该属性两个是创建一个setter来更改测试中的属性。 我不鼓励只为您的测试创建公共评估者这会使其他人在查看您的代码以及为测试创建和维护Spring配置感到困惑。 我知道您在想什么“如果我不能做以上任何事情我都会被解雇我的女朋友会离开我我的生活已经结束”但是您不用担心我在这里向您展示另外一个选项 您可以使用静态方法创建groovy类以评估测试中的私有字段 import groovy.transform.CompileStatic CompileStatic class SomeServiceAccessor {public static void setApiUsers(SomeService someService,String apiUsers){someService.apiUsers apiUsers} } 并在单元测试中使用它 import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import org.junit.Before; import org.junit.Test; public class SomeServiceTest {private SomeService service;Beforepublic void setUp() {service new SomeSercvice();SomeSercviceAccessor.setApiUsers(service, pippo,pluto,bungabunga);service.init();}Testpublic void testIsNotApiUser() {assertThat(service.isAnRTBUser(), is(false));assertThat(service.isAnRTBUser(null), is(false));assertThat(service.isAnRTBUser(random), is(false));}Testpublic void testIsRTBUser() {assertThat(service.isAnRTBUser(pippo), is(true));assertThat(service.isAnRTBUser(PIPPO), is(true));assertThat(service.isAnRTBUser(pluto), is(true));assertThat(service.isAnRTBUser(bungabunga), is(true));} } 当然您可以在Java中执行相同的操作以通过反射来更改字段的可见性但是我认为常规解决方案可以是一种更清洁更轻松的方法。 现在我将根据以下建议完成这篇文章 除非确实确实需要修改私有变量以对类进行单元测试否则请不要使用此解决方案 参考从我们的JCG合作伙伴 Marco Castigliego的“ 删除重复项和修复不良名称”博客中访问单元测试中的私有字段 。 翻译自: https://www.javacodegeeks.com/2014/02/access-private-fields-in-unit-tests.html
http://www.pierceye.com/news/505111/

相关文章:

  • 宁波品牌网站建设芗城区建设局网站
  • 仿卢松松博客网站源码购买网站空间多少钱
  • 无锡网站推微信公众号文章里好看的图片在哪个网站做
  • 做网站建设费用预算龙岩市建筑设计院
  • 网站做适配多少钱浙江建设厅特种考试查询
  • 简单的网站更新 关键词优化 关键词互联如何做网
  • 重庆网站seo搜索引擎优化网站qq登录 开发
  • 备案号放网站下面居中物流网站制作目的
  • 房产网站排名做情侣网站
  • 营销型网站建设推荐国内团购网站做的最好的是
  • 前端网站建设苏州高新区建设局网站管网
  • 中小企业网站建设中服务器的解决方案是网站建设推广总结
  • 东莞网站建设新闻资讯做赌场网站犯法么
  • wordpress怎么添加单页模版seo价格是多少
  • 网站域名有了_网站如何建设优书网首页
  • 宠物网站建设策划报告Wordpress is文章展示
  • 电子建设网站的目的阿里巴巴网站是用什么技术做的
  • 图形设计网站wordpress微信群多个二维码
  • 网站建设维护是干什么网站用户需求报告
  • 咸宁网站建设公司水网站模板
  • 移动网站开发教材seo网站排名优化价格
  • 重生做网站小说畅想网络网站建设推广
  • 找个做网站的 优帮云wordpress 判断自定义栏目
  • wordpress文章目录分页wordpress加速优化服务
  • 二级目录网站怎么做小程序开发成都公司
  • 网站标题名字和备案名字网站开发 质量管理
  • 网站与系统开发吉安网站建设收费
  • 湖北襄阳网站建设wordpress电商ar
  • 微做网站环保行业网站建设
  • 昭通做网站公司北京手机网站制作多少钱