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

深圳自助建站网站机关网站及新媒体建设实施方案

深圳自助建站网站,机关网站及新媒体建设实施方案,网站的表现形式,ps软件手机版下载我认为#xff0c;依赖项注入的主要好处之一是可以将模拟和/或存根对象注入代码中#xff0c;以提高可测试性#xff0c;增加测试覆盖率并编写更好#xff0c;更有意义的测试。 但是#xff0c;有时候您会遇到一些不使用依赖注入的传统代码#xff0c;而是通过组合而不是… 我认为依赖项注入的主要好处之一是可以将模拟和/或存根对象注入代码中以提高可测试性增加测试覆盖率并编写更好更有意义的测试。 但是有时候您会遇到一些不使用依赖注入的传统代码而是通过组合而不是聚合将它们结合在一起。 发生这种情况时您有三种选择 忽略该问题不编写任何测试。 疯狂地进行重构更改所有内容以使用依赖项注入。 使用PowerMock模拟构造函数 显然选项1并不是一个严肃的选项尽管我建议重构以将所有内容移至依赖项注入但这需要时间而且您必须务实。 这就是PowerMock的用处。此博客演示了如何使用PowerMock模拟构造函数这意味着当您的代码调用new时它不会创建真实的对象而是会创建模拟对象。 为了证明这个想法我们首先需要测试一些类如下所示。 public class AnyOldClass {public String someMethod() {return someMethod;}}public class UsesNewToInstantiateClass {public String createThing() {AnyOldClass myclass new AnyOldClass();String returnValue myclass.someMethod();return returnValue;}} 第一个类AnyOldClass是代码通过调用new实例化的类。 在这个例子中顾名思义它可以是任何东西。 第二个类恰当地命名为UsesNewToInstantiateClass具有一个方法createThing该方法在调用时会执行以下操作 AnyOldClass myclass new AnyOldClass(); 这一切都非常简单因此我们将快速进行PowerMock辅助的JUnit测试 import static org.easymock.EasyMock.expect; import static org.junit.Assert.assertEquals; import static org.powermock.api.easymock.PowerMock.expectNew; import static org.powermock.api.easymock.PowerMock.replay; import static org.powermock.api.easymock.PowerMock.verify;import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.api.easymock.annotation.Mock; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner;RunWith(PowerMockRunner.class) PrepareForTest(UsesNewToInstantiateClass.class) public class MockConstructorTest {Mockprivate AnyOldClass anyClass;private UsesNewToInstantiateClass instance;Testpublic final void testMockConstructor() throws Exception {instance new UsesNewToInstantiateClass();expectNew(AnyOldClass.class).andReturn(anyClass);final String expected MY_OTHER_RESULT;expect(anyClass.someMethod()).andReturn(expected);replay(AnyOldClass.class, anyClass);String result instance.createThing();verify(AnyOldClass.class, anyClass);assertEquals(expected, result);}} 首先该类具有通常的PowerMock附加功能 RunWith(PowerMockRunner.class) PrepareForTest(UsesNewToInstantiateClass.class) 在文件的顶部加上anyOldClass模拟对象的创建。 要考虑的重要代码行是 expectNew(AnyOldClass.class).andReturn(anyClass); 这行代码告诉PowerMock期望调用新的AnyOldClass并返回我们的anyClass模拟对象。 同样有趣的是重播和验证的调用。 在上面的示例中它们都有两个参数。 第一个AnyOldClass.class与上面的ExpectNew…调用有关而第二个anyClass则与简单的模拟调用ExpectanyClass.someMethod。Returnexpected;相关。 在某些时候您确实应该让new来做它所做的事情创建一个请求类型的新对象。 有一种观点认为在测试时您可能过度隔离代码而对所有内容进行模拟会降低测试的含义和价值。 对我来说没有正确的答案这是一个选择的问题。 很明显如果您的代码访问诸如数据库之类的外部资源那么您将重构并实现DI或使用PowerMock。 如果您的被测试代码不访问任何外部资源那么更多的是判断多少代码隔离过多 这也许需要一些思考并且可能是另一天另一个博客的主题…… 参考 使用PowerMock从我们的JCG合作伙伴 Roger Hughes 嘲笑 “ Captain Debugs”博客中的 构造方法 。 翻译自: https://www.javacodegeeks.com/2012/09/using-powermock-to-mock-constructors.html
http://www.pierceye.com/news/371378/

相关文章:

  • 浙江建设干部学校网站免费wordpress搭建
  • 海尔网站建设内容策划wordpress 登录密码
  • 金融公司网站规划方案四川省住建厅特种作业证报名
  • 做网站员培训网站小视频怎么做
  • 做网站是学什么专业的电子商务网络营销方式
  • 东莞电商网站公司goz建站
  • 深圳石岩建网站权威发布李建
  • 大连哪家公司做网站比较好网页搜索的快捷键
  • 怎样建个小公司的网站濮阳网络电视直播
  • 台州低价网站建设阆中做网站
  • 兰州网站运营诊断学校网站报价方案
  • 宿迁做网站大公司现在企业做网站一般用什么框架
  • 企业如何建自己的网站自己网站的登录api怎么做
  • 专业的网站建设企业微信小程序服务器一年多少钱
  • 关于网站建设的句子苏州实力做网站公司有哪些
  • 网页制作与网站建设》在线作业 答案wordpress信息量几百万
  • 代刷网站系统怎么做wordpress数据库连接
  • 邢台网站改版开发开封美食网站建设规划
  • 网站建设佰金手指科杰二五国内网站推广
  • wordpress 多站点 用户天津经济持续恢复
  • 做网站邯郸怎样建立平台
  • 网站中捕获鼠标位置mip wordpress 评论
  • 室内设计资料网站discuz是什么东西
  • 网站建设方向论文提纲网页作品制作的一般过程
  • 生道网站建设平台高端商品网站
  • 网站维护计划商标注册号查询入口官网
  • 个人怎样申请网站网站整站html
  • 网站规则购房网官网
  • 苏州市吴江区住房和城乡建设局网站西安市今天发生的重大新闻
  • 网站需求建设关系书赚钱软件学生