public class Util {
public static int returnInt() {
return 1;
}
public static String returnString() {
return "string";
}
}
public class ClassToTest {
public String methodToTest() {
return Util.returnString();
}
}
@RunWith(PowerMockRunner.class)
@PrepareForTest(Util.class)
public class PharmacyConstantsTest {
ClassToTest classToTestSpy;
@BeforeMethod
public void beforeMethod() {
classToTestSpy = spy(new ClassToTest());
}
@Test
public void method() throws Exception {
mockStatic(Util.class);
when(Util.returnString()).thenReturn("xyz");
classToTestSpy.methodToTest();
}
}
我使用web上的各种解决方案尝试了这个解决方案,但无法找到代码中的错误。我需要为静态方法调用存根,因为我需要它用于遗留代码。如何使用PowerMockito模拟静态方法?
您需要将TestNG配置为使用PowerMock对象工厂,如下所示:
<suite name="dgf" verbose="10" object-factory="org.powermock.modules.testng.PowerMockObjectFactory">
<test name="dgf">
<classes>
<class name="com.mycompany.Test1"/>
<class name="com.mycompany.Test2"/>
</classes>
</test>
</suite>
在项目的suite.xml文件中。
请参阅此链接。
问题内容: 我正在为类似于以下示例的方法编写JUnit测试用例: 我在测试类中编写了以下测试用例: 现在,我想验证是否调用了Sample Sample类的static methodC()。如何使用PowerMockito 1.6实现?我已经尝试了很多东西,但是似乎对我来说没有用。任何帮助表示赞赏。 问题答案: 就我个人而言,我不得不说PowerMock等是您的代码不错的情况下不应该解决的问题的解决
问题内容: 我正在尝试使用此功能,但正在收到消息。 我可以简单地使其静态化,从而解决了我的问题,但是如果不走那条路线怎么办。我想保持方法非静态。 以下是一些代码,可让您了解发生了什么: 问题答案: 创建您的课程的实例 这是一个实例方法,它需要一个实例来访问它。请阅读有关类和对象的官方教程。
PowerMockito.when(ConnectionFactory.getConn(“ABC”).getCurrentStatus()).thenReturn(ConnectionStatus.Connected); 对于上面的陈述,我得到了一个NPE。 我在junit测试类的开头已经有@PrepareForTest({fxallConnectionFactory.class,Connecti
问题内容: 我正在尝试模拟私有静态方法。见下面的代码 这是我的测试代码 但是我运行的每个瓦片都会出现此异常 我想我在嘲弄东西时做错了什么。有什么想法我该如何解决? 问题答案: 为此,您可以使用和。 此外,您必须在测试类中指定PowerMock运行器,并准备要进行测试的类,如下所示: 希望对您有帮助。
在尝试模拟InetAddress中的静态方法时,我遇到了奇怪的问题。我成功地能够为许多其他类模拟静态方法,并且一切正常,但InetAddress显示不同的行为。我使用的是JUnit 4. x、Mockito 1.9.5 下面给出了使用Mockito和PowerMock以及InetAddress模拟的测试- 当我将下面给出的方法放入某个实用程序InetAddress中时。getLocalHost()
我读了几篇关于使用powermockito而不是仅仅使用mockito来测试静态方法的帖子,但是在切换到powermockito之后,我仍然会得到同样的错误。下面是我的类和例外。异常中的两种情况都不能解释我的错误。 最后一行代码导致这个异常org.mockito.exceptions.Misusing.MissingMethodInvocationException:when()需要一个参数,该参