当前位置: 首页 > 知识库问答 >
问题:

whenNew()和PoweMockito

蒲昀
2023-03-14

我用PowerMockito模拟了File类构造函数。

PowerMockito.whenNew(File.class).withArguments("Filepath").thenReturn(mockFile);

但当我的sut类创建文件(“with someotherpath”)时,返回null。

我希望“mockFile”应该返回,当使用“Filepath”参数调用时,应该调用其他参数实际构造函数。

这不是真的吗?

共有1个答案

谭学名
2023-03-14

“我希望‘mockFile’应该返回,当使用“Filepath”参数调用时,其他参数应该调用实际构造函数." ----

其中,与Mock一样,默认行为是不存根时什么也不做。因此得到了null。

试试这个

PowerMockito.whenNew(File.class).withArguments("Filepath").thenReturn(mockFile).thenCallRealMethos();
 类似资料:
  • 这就是我的情况,我有两个非常简单的类: 以及: } 我想用Mockito测试类A的方法。因此,我想模拟类B的实例,并在实例化类B时将其提供给A。出于隔离原因,我根本不希望达到b.do()。 我知道我可以通过创建以下unittest来实现这种行为: 这导致输出: 所以这工作!然而,我现在的问题是我们使用Jococo插件进行测试覆盖率。Jococo不涵盖使用@准备测试(A. class)语句测试的代码

  • 我有一个DummyResources类和一个DummyTarget文件,以及一个测试类TestDummyResources,如下所示,但是mocked对象仅在我调用普通类中的构造函数时才有效,当它在匿名类中调用时,它调用实际的构造函数而不是使用mocked对象。 版本: powermock 1.4.12 mockito 1.9.0 junit 4.8.2 DummyTarget。java: Dum

  • 问题内容: 我有一个DummyResource类和一个DummyTarget文件,以及一个测试类TestDummyResource,如下所示,但是模拟对象仅在我在普通类中调用构造函数时才起作用,在匿名类中调用它时,它调用的是实际构造函数而不是使用模拟对象。 版本: powermock 1.4.12模拟1.9.0 junit 4.8.2 DummyTarget.java: DummyResource

  • 问题内容: 关于它们有很多传说。我想知道真相。以下两个示例之间有什么区别? 问题答案: 不确定从何处获得传说,但: 提交按钮 与: IE6将在标记之间提交此按钮的所有文本,其他浏览器将仅提交值。使用可使您在按钮的设计上享有更大的布局自由度。从各种意图和目的看,它乍一看似乎很棒,但是各种浏览器怪癖使它有时很难使用。 在您的示例中,IE6将发送到服务器,而其他大多数浏览器将不发送任何内容。要使其跨浏览

  • 什么区别以及如何正确重写代码?

  • 我试图理解为什么下面两个代码块会产生不同的结果。 代码块1按预期工作,并返回从数据库中查找的提供程序的数组。另一方面,代码块2返回函数数组。在理解promissione.all()和async/await时,我觉得缺少了一些简单的东西。 代码块的差异如下: > 块1:创建许诺函数数组,然后使用map运算符将其包装在异步函数中。 块2:许诺函数的数组被创建为异步函数。因此,不调用map运算符。 如果