gpt4 book ai didi

java - 无法在 Eclipse 中调试 Mockito/JUnit 代码,仅适用于 JUnit

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:59:38 26 4
gpt4 key购买 nike

我的 JUnit 测试运行良好。将 Mockito 添加到我的构建中,我尝试在我的 JUnit 测试中放置一个断点,该测试使用 Mockito 模拟一些公共(public)方法。当我尝试在类上运行调试器时,出现错误“由于缺少行号属性,无法在 XXX 中安装断点。修改编译器选项以生成行号属性。”我检查了我的编译器并选择了生成行号。

最佳答案

您看到的异常是由于尝试调试由 mock() 函数创建的动态生成的空模拟方法引起的。从你的问题来看,你似乎真的想使用部分模拟而不是完整模拟,其中只有一些方法被模拟,其余的调用被委托(delegate)给真正的实现。

要创建部分模拟,您应该使用 spy() 方法而不是 mock() 方法。所以,使用

MyClass myMock = spy(new MyClass());

代替

 MyClass myMock = mock(MyClass.class);

关于java - 无法在 Eclipse 中调试 Mockito/JUnit 代码,仅适用于 JUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3154772/

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