所以我想检查一下我发送给我无法控制的外部类的参数。假设测试了外部类,我只想测试是否通过了正确的参数。我尝试过ArgumentCaptor等的一些组合,但运气不太好
import org.ABC.ExternalClass
case class Foo(i:Int, j: Int...) {
val EC = CreateExternalClass()
def CreateExternalClass(): ExternalClass = {
new ExternalClass (i, j, ....many parameters)
}
}
答案 0 :(得分:1)
我认为你在这里弄错了:你只能在调用模拟对象时使用ArgumentCaptor。你不能用它们来“拦截”各种对象之间的任意调用。
含义:如果要使用模拟 ExternalClass对象,则只能使用ArgumentCaptor。但是你不需要捕获,因为你可能只需要方法调用参数验证。
但是,当然,您不能使用Mockito来模拟生产类中对new
的调用。你有的选择: