"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > How to Effectively Mock Private Methods with PowerMock and Mockito?

How to Effectively Mock Private Methods with PowerMock and Mockito?

Published on 2024-11-08
Browse:509

How to Effectively Mock Private Methods with PowerMock and Mockito?

Alternative Solution for Mocking Private Methods with PowerMock

Despite encountering difficulties with the initially proposed solution using PowerMock, an alternative approach has proven successful. Using a combination of Mockito and PowerMock, it is possible to mock private methods effectively.

As illustrated in the provided code snippet, the class CodeWithPrivateMethod possesses a public method meaningfulPublicApi that invokes a private method doTheGamble. To mock the behavior of doTheGamble, the test class CodeWithPrivateMethodTest utilizes PowerMock to spy on an instance of the original class and uses Mockito to specify the desired return value.

In this specific scenario, when the private method doTheGamble is called with any string and integer arguments, it is instructed to return true. This causes the public method meaningfulPublicApi to trigger a RuntimeException.

The complete test configuration is accomplished through PowerMock's @PrepareForTest annotation, which ensures that the class under test is prepared for spying. The test is executed using the PowerMockRunner, which facilitates mocking of static and private methods.

Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3