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

商城网站建设第一章网站备案期间 搜索引擎

商城网站建设第一章,网站备案期间 搜索引擎,python怎么做专门的手机网站,DW做的网站都能打开吗powermock模拟对象大多数单元测试都集中于测试对象的行为以证明其有效。 这可以通过编写一个JUnit测试来实现#xff0c;该测试调用对象的公共方法#xff0c;然后测试这些调用的返回值是否与先前定义的一组期望值匹配。 这是一种非常常见且成功的技术。 但是#xff0c;不应… powermock模拟对象 大多数单元测试都集中于测试对象的行为以证明其有效。 这可以通过编写一个JUnit测试来实现该测试调用对象的公共方法然后测试这些调用的返回值是否与先前定义的一组期望值匹配。 这是一种非常常见且成功的技术。 但是不应忘记对象也显示状态。 由于它是隐藏的因此经常被忽略。 我于1995年夏季首次阅读Grady Booch的1994年的《 面向对象的分析和设计 》一书它通过以下方式定义了对象的状态 对象的状态包含对象的所有通常是静态属性以及这些属性中每个属性的当前通常是动态值。 他使用自动售货机示例定义了静态和动态状态之间的差异。 静态状态是通过机器始终准备好拿钱的方式表现出来的而动态状态是在任何给定实例中获得的钱数。 我怀疑在这一点上您会正确地辩称明确的行为测试确实会测试对象的状态这是因为给定的方法调用返回了正确的结果并且要获得正确的结果对象的状态也必须是是的...我会同意的。 但是在极少数情况下经典行为测试不适用。 当公共方法调用没有输出并且对对象不执行任何操作更改其状态时会发生这种情况。 一个示例是返回void的方法或构造函数。 例如给定一个具有以下签名的方法 public void init(); …如何确保其完成工作 事实证明有几种方法可以用来实现这一目标…… 向您的类中添加许多getter方法。 这不是一个特别好的主意因为您只是在松开后门的封装。 放松封装将私有实例变量打包为私有。 一个非常有争议的事情。 您可能会务实地认为经过良好测试正确和可靠的代码可能比高度封装更好但是我在这里不太确定。 这可能是一个短期修复但将来可能会导致各种问题因此应该有一种编写经过良好测试正确和可靠的代码的方式其中不包括破坏对象的封装 编写一些使用反射来访问对象内部状态的代码。 这是迄今为止最好的主意。 不利的一面是这需要付出相当大的努力并且需要一定数量的编程能力。 使用PowerMock的Whitebox测试课程为您完成艰苦的工作。 以下完全人为设计的场景演示了PowerMock的Whitebox类的用法。 它需要一个非常简单的AnchorTag a类该类将在测试输入URL字符串有效之后构建一个锚标记。 public class AnchorTag {private static final Logger logger LoggerFactory.getLogger(AnchorTag.class);/** Use the regex to figure out if the argument is a URL */private final Pattern pattern Pattern.compile(^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)[a-zA-Z]{2,6}$);/*** A public method that uses the private method*/public String getTag(String url, String description) {validate(url, description);String anchor createNewTag(url, description);logger.info(This is the new tag: anchor);return The tag is okay;}/*** A private method thats used internally, but is complex enough to require testing in its own right*/private void validate(String url, String description) {Matcher m pattern.matcher(url);if (!m.matches()) {throw new IllegalArgumentException();}}private String createNewTag(String url, String description) {return a href\ url \ description /a;} } URL验证测试是使用正则表达式和Java Pattern对象完成的。 使用Whitebox类将确保正确配置模式对象并且我们的AnchorTag处于正确的状态。 下面的JUnit测试证明了这一点 /*** Works for private instance vars. Does not work for static vars.*/Testpublic void accessPrivateInstanceVarTest() throws Exception {Pattern result Whitebox.pattern getInternalState(instance, pattern);logger.info(Broke encapsulation to get hold of state: result.pattern());assertEquals(^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)[a-zA-Z]{2,6}$, result.pattern());} 该测试的关键是该行 Pattern result Whitebox.pattern getInternalState(instance, pattern); …使用反射返回Pattern对象的私有实例变量。 一旦访问了该对象我们就可以简单地通过调用以下命令询问它是否已正确初始化 assertEquals(^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)[a-zA-Z]{2,6}$, result.pattern()); 总而言之我建议仅在无法将简单的经典JUnit测试用于行为测试时才应使用PowerMock显式测试对象的内部状态。 话虽如此它是工具箱中的另一个工具可以帮助您编写更好的代码。 参考来自JCG合作伙伴的 PowerMock测试对象的内部状态 调试队长博客上的 Roger。 相关文章 JUnit 4.9测试版3中的规则 Servlet 3.0异步处理可将服务器吞吐量提高十倍 用Scala测试 Java工具源代码优化和分析 Java教程和Android教程列表 翻译自: https://www.javacodegeeks.com/2011/10/testing-objects-internal-state-with.htmlpowermock模拟对象
http://www.zqtcl.cn/news/438670/

相关文章:

  • 企业网站制作模板免费下载淘宝指数查询官网手机版
  • 做服装外单的网站购物网站首页图片
  • 网站建设到运营赚钱上海网络哪家比较好
  • 做网站要求高吗超炫网站
  • 贵卅省住房和城乡建设厅网站怎么快速仿wordpress站
  • 苏州网站建设排名clef wordpress
  • 罗定建设局网站汽车装饰网站源码
  • 网站用什么切版商城网站怎么建
  • 设计网站公司多少钱wordpress获取所有标签
  • 怎么看一个网站是哪个公司做的电子商务网站设计与规划
  • 邯郸哪里做网站优化网站建设如何排版
  • 济南网站建设设计制作公司找人做网站价格
  • 阿里网站年费续费怎么做分录大型的网站开发
  • 中山做网站费用广西壮族自治区住房和建设厅网站
  • vs2015做网站如何添加控件建设网站计划 ppt
  • 简述网站设计流程贵阳小程序开发软件公司
  • 营销网站建设的原则设计网站页面要注意什么
  • 上海怎么做网站国外网站 设计
  • 开发公司土地评估费计入土地价款优化搜狐的培训
  • 网站建设佰首选金手指三360怎么免费建网站
  • 网站万能密码修复苏州市建设中心网站
  • 如何搭建php网站网站制作的前期主要是做好什么工作
  • 站酷设计网站官网站不能正常显示出现后台代码
  • 网站域名改版微信公众号免费开通
  • 代网站建设如何对网站进行爬虫
  • 做公司+网站建设价格低网站两边广告代码
  • 服务器上怎做网站提升网页优化排名
  • 上海网站推广模板景德镇网站开发
  • 艺术风格网站成都软件开发公司排行榜
  • 搭建个人网站赚钱网站开发应该注意什么