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

南宁网站建设哪里有网站在线答题怎么做

南宁网站建设哪里有,网站在线答题怎么做,南宁做网站方案,莱芜四中网站在上一个博客中 #xff0c;我谈到了如何处理行为不佳的不可测试的 #xff08;1#xff09; SitePropertiesManager 类#xff0c;以及如何通过提取接口来创建存根。 但是#xff0c;如果由于旧类的源代码已被锁定在第三方JAR文件中而无法访问它#xff0c;会发生什么情… 在上一个博客中 我谈到了如何处理行为不佳的不可测试的 1 SitePropertiesManager 类以及如何通过提取接口来创建存根。 但是如果由于旧类的源代码已被锁定在第三方JAR文件中而无法访问它会发生什么情况 答案是您真正没有想到的事情之一但是当您看到它时您会意识到它是显而易见的。 为了证明这一点我将重写上一个博客中的代码   2测试我的简单AddressService 。 情况相同 AddressService必须加载站点属性并决定是否返回地址 public Address findAddress(int id) {logger.info(In Address Service with id: id);Address address Address.INVALID_ADDRESS;if (isAddressServiceEnabled()) {address addressDao.findAddress(id);address businessMethod(address);}logger.info(Leaving Address Service with id: id);return address;}private boolean isAddressServiceEnabled() {return new Boolean(propManager.findProperty(address.enabled));} …除了我要假装SitePropertiesManager被锁定在JAR文件中。 我之前提出的有关使遗留代码更具可测试性的所有观点仍然存在您需要使用SpringFactoryBean实现转向依赖注入并停止依赖静态工厂方法getInstance 。 您还需要一种创建存根的方法该存根允许您将代码与我们的流氓类愉快使用的数据库和文件系统隔离开 SitePropertiesManager 。 在这种情况下由于该类被锁定在一个JAR文件中因此您不能简单地提取一个接口您必须更加狡猾并使用继承。 使用继承编写存根是很简单的并且只需要几行代码如下所示 public class StubSitePropertiesUsingInheritance extends SitePropertiesManager {private final MapString, String propMap new HashMapString, String();public void setProperty(String key, String value) {propMap.put(key, value);}Overridepublic String findProperty(String propertyName) {return propMap.get(propertyName);} } 这里的主要思想是现在我可以将存根实例多态注入到我的AddressService类中而无需知道它已经被愚弄了。 public class LegacyAddressServiceUsingInheritanceTest {private StubAddressDao addressDao;private StubSitePropertiesUsingInheritance stubProperties;private LegacyAddressService instance;Beforepublic void setUp() {instance new LegacyAddressService();stubProperties new StubSitePropertiesUsingInheritance();instance.setPropertiesManager(stubProperties);}Testpublic void testAddressSiteProperties_AddressServiceDisabled() {/* Set up the AddressDAO Stubb for this test */Address address new Address(1, 15 My Street, My Town, POSTCODE, My Country);addressDao new StubAddressDao(address);instance.setAddressDao(addressDao);stubProperties.setProperty(address.enabled, false);Address expected Address.INVALID_ADDRESS;Address result instance.findAddress(1);assertEquals(expected, result);}Testpublic void testAddressSiteProperties_AddressServiceEnabled() {/* Set up the AddressDAO Stubb for this test */Address address new Address(1, 15 My Street, My Town, POSTCODE, My Country);addressDao new StubAddressDao(address);instance.setAddressDao(addressDao);stubProperties.setProperty(address.enabled, true);Address result instance.findAddress(1);assertEquals(address, result);} } 您可能会问为什么不总是使用继承答案是该技术的缺点是测试代码与野生的SitePropertiesManager类紧密耦合。 在这种情况下这并不是什么大问题而且作为一个务实的程序员我想这并不重要因为拥有整洁经过测试和可靠的代码要比拥有松散耦合的代码更好但没有单元测试。 1设计时未考虑单元测试。 2源代码可从GitHub获得 git//github.com/roghughe/captaindebug.git 参考 Captain Debugs Blog上的JCG合作伙伴 Roger Hughes提供了更多有关为遗留代码创建存根的测试技术7 的信息 。 相关文章 测试技巧–不编写测试 端到端测试的滥用–测试技术2 您应该对什么进行单元测试 –测试技术3 常规单元测试和存根–测​​试技术4 使用模拟的单元测试–测试技术5 为旧版代码创建存根–测试技术6 为什么要编写单元测试–测试技巧8 一些定义–测试技术9 翻译自: https://www.javacodegeeks.com/2011/12/more-on-creating-stubs-for-legacy-code.html
http://www.zqtcl.cn/news/537402/

相关文章:

  • 戴尔公司网站开发的经营目标贵州省铜仁市城乡建设局网站
  • 商务网站建设简答题及答案网站备案 域名证书
  • 网站后门怎么去除贾汪城乡建设局网站
  • 烟台住房和城乡建设厅网站重庆网站界面设计
  • 企业网站推广服务协议html编程语言
  • 上海知名网站建设公司合肥建设云平台证书查询
  • 网站响应度西安哪家公司做的网站好
  • 广州市白云区网站建设维护wordpress如何匹配模板
  • 360网站导航公司地址怎么做seo 优化一般包括哪些内容
  • 龙岗高端建设网站建设南京旅游网页设计
  • 企业网站优化问题wordpress滑动
  • 亳州网站建设费用广东网站建设报价
  • ai生成作文网站驾校网站源码下载
  • icon图标素材下载网站郑州做定制网站的公司
  • 网站建设培训哪家好北京有几个区几个县
  • 县局网站建设招标最新网页游戏传奇
  • 咋么做进网站跳转加群代理记账公司如何寻找客户
  • 可以做pos机的网站app网站建设制作
  • 手机移动端网站影视摄影传媒公司
  • 做化工资讯的网站湖南省做网站的
  • 廊坊哪些公司做网站做网站域名是什么意思
  • 印刷网络商城网站建设上海那家公司做响应式网站建设
  • 四川省建设厅职称查询网站购物网站页面设计
  • 网站开发导航可以进不良网站的浏览器
  • 一个中介平台网站的建设费wordpress 文章列表只显示标题
  • 网站建设包括两个方面聊城建设路小学网站
  • 怎么样做一个自己的网站遵义软件制作平台
  • 推广网站实例建设厅的证在哪里查询
  • 分类网站建设方案做学校教务处网站
  • 如何做链接淘宝客的网站只做画册的网站