gpt4 book ai didi

eclipse - 如何使用 DebuggerTo 单步执行 Mockito spy 对象?

转载 作者:行者123 更新时间:2023-12-04 07:52:13 25 4
gpt4 key购买 nike

我希望能够在 Mockito Spy 对象上单步调试调试器,尤其是 Eclipse。例如,假设我有以下类(class)要测试:

public class someClass(){
public someMethod(){
System.out.println("Begin someMethod call");
//some code in the method
System.out.println("End someMethod call");
}
}

假设我有一个 Mockito 类,如下所示:
@RunWith(MockitoJUnitRunnerclass)
public class SomeMethodTest {

@Spy SomeClass someSpiedObject;

@Test
public final void testSomeMethod(){
//some code in the test method
someSpiedObject.someMethod();
/some tests
}

我遇到的问题是,如果我在 设置调试断点//测试方法中的一些代码并在 //方法中的一些代码 ,将到达第一个断点,但不会到达第二个断点。我知道代码会运行,因为系统输出会打印到控制台。我知道,作为一个被监视的对象,它不是相同的代码,调试器不应该工作。我也知道,如果 VerboseLogging() 是 Mock 对象而不是 Spy,则可以使用它。我真正的问题是,如何像执行普通对象一样逐步执行代码?是否有可以帮助的调试框架?是否有我不知道的 Mockito 功能?我最终将不再需要它是一个 Spy 对象并且可以简单地测试它,但直到静态调用被重构。

最佳答案

我在 IntelliJ 上遇到了同样的问题。我在我的测试服务中只 mock 其中一种方法。

我找到的唯一解决方案是在我的测试代码中放置一个断点,并使用 Step-Into (F7) 调试实际代码的真正方法。这很糟糕,但这是我迄今为止找到的唯一方法。

关于eclipse - 如何使用 DebuggerTo 单步执行 Mockito spy 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45700338/

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