Scala参数捕获外部类



,所以我想检查我发送到无法控制的外部类的参数。假定外部类测试,我只想测试是否将其传递给正确的参数。我尝试了一些参数captor等的组合,但运气不多

import org.ABC.ExternalClass
case class Foo(i:Int, j: Int...) { 
  val EC = CreateExternalClass()
  def CreateExternalClass(): ExternalClass = {
   new ExternalClass (i, j, ....many parameters)
  } 
}

我认为您在这里遇到了错误:您只能在调用 oppered 对象的呼叫上使用参数。您不能使用它们在各种对象之间"拦截"任意调用。

含义:只有在使用模拟 externalClass对象的情况下,才可以使用参数captor。但是,您就不需要捕获,因为您可能可以做简单的方法调用参数验证。

但是,当然,您不能使用Mockito在生产课中嘲笑对new的呼叫。您拥有的选项:

  • 转向PowerMockito或Jmockit;允许嘲笑新呼叫的框架。不建议。
  • 将您的生产代码重新处理为不是做到了新的。这里可能没有帮助;因为这个课程可能已经是围绕该外部类的包装器
  • 去检查创建的对象:检查是否可以使用getter方法来简单地查询新创建的对象以具有期望在内部显示的值

相关内容

  • 没有找到相关文章

最新更新