java.lang.NullPointerException at org.powermock.api.mockito.intern.Erwartung.PowerMockitoStubberImpl.addAnswersForStubbing
Ausnahme
java.lang.NullPointerException
at org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl.addAnswersForStubbing(PowerMockitoStubberImpl.java:67)
at org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl.when(PowerMockitoStubberImpl.java:42)
at org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl.when(PowerMockitoStubberImpl.java:105)
at us.ny.state.ij.safeact.ask.facade.AmmoSellerKeeperFacadeBeanTest.setUp(FacadeBeanTest.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
Code zu verspotten
BusinessServiceFactory serviceFactory = BusinessServiceFactory.getInstance();
RegBusinessServiceImpl regCreateService =
serviceFactory.getRegBusinessService(adrEntityManager);
Test-Code
@RunWith(PowerMockRunner.class)
@PrepareForTest({ BusinessServiceFactory.class})
public class FacadeBeanTest {
@Before
public void setUp() throws Exception {
AmmoSellerRegBusinessServiceImpl mockRegBusinessServiceImpl
= mock(AmmoSellerRegBusinessServiceImpl.class);
PowerMockito.doReturn(mockRegBusinessServiceImpl)
.when(BusinessServiceFactory.class,"getRegBusinessService",
(mockEntityManager)); //--- line 84 null pointer exception
}
}
Ich kann nicht verstehen, warum sehe ich die Ausnahme. Ich würde schätzen, Anregungen.
- ist dieses problem behoben? Ich habe genau das gleiche problem.
- Ich erkannte meine Fehler. Ich habe die Lösung als Antwort unten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
FYI:
Die Lösung ist die Verwendung PowerMockito.mock() statt Mockito.mock()
Sie tun sollten
statt
Ich auch vor dem gleichen problem. Diese Lösung war das Update für mich. Hoffe, es hilft.
Müssen Sie
Mockito.when()
für Spott Methoden, die einen Wert zurückgeben. Auch müssen Sie mit denPowerMockito.mockStatic()
vor verspotten die Methoden der statischen Klasse.Werfen Sie einen Blick auf die PowerMock Nutzung hier, um besser zu verstehen.