java – 验证对静态方法的调用
发布时间:2020-05-24 07:58:40 所属栏目:Java 来源:互联网
导读:我想验证是否已调用公共静态void方法.@RunWith(PowerMockRunner.class) @PrepareForTest({ConsoleLog.class}) public class AdContentDataUnitTest { @Before public void setUp() throws Exception {
|
我想验证是否已调用公共静态void方法.
将调用sendTrackingEvent,并将调用ConsoleLog.v(String,String).我可以在调试中看到调用静态方法,但出现以下日志并且测试失败:
我尝试在相同的日志之后添加verifyStatic,如果我删除第一个验证,则不会检查任何内容.如果我模拟整个ConsoleLog类,则会在此处检测到错误未完成的存根:[…] PowerMockitoCore.doAnswer. 有谁知道如何正确地做到这一点? 最佳答案
是.根本不要这样做. 假设您有一个类调用静态方法,如下所示:
将静态调用解压缩为非静态方法:
现在您可以编写测试,覆盖提取的方法:
但理想的解决方案实际上是重构被测试的代码,根本不使用这种静态调用,而是依赖注入. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
