gpt4 book ai didi

scala - 测试是否在不提供参数的情况下调用了方法

转载 作者:行者123 更新时间:2023-11-28 21:03:28 24 4
gpt4 key购买 nike

我有以下代码:

class MyClass {

def someMethods(): Unit = {
val result1 = method1()
val result2 = method2(result)
}
}

不,我想在运行 someMethod 时测试是否调用了 method1 和 method2。

class TestMyClass {

@Test
def testSomeMethods(): Unit = {
val myClass = new MyClass()
val myClassSpy = Mockito.spy(myClass)
myClassSpy.someMethods()
verify(myClassSpy).method1()
}
}

对于方法 1,这是可行的,但方法 2 需要一个参数,该参数由方法 1 提供。
我不能只做 assertTrue(method2.called) 之类的事情吗?
因为我不想检查方法的结果,我只想知道它们是否被调用。

最佳答案

嗯,为此使用 spy 已经是一种味道,你不应该像那样测试你的类的内部结构。

在任何情况下你都可以做 Mockito.verify(myClassSpy).method2(Mockito.any()) 这样就可以了,但我会认真审查你的设计和背后的动机这个测试真的感觉像是错误的方法。

关于scala - 测试是否在不提供参数的情况下调用了方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58012138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com