I JMockit für Funktionstests für das in einem Testmethode verwende ich wie unterFehler beim Abruf während in JMockit @Test Methode if-else-Bedingung mit
if-else Zustand bin mit@Ignore
@Test(expected = CoreServiceException.class)
public final void setExpectationsForOrchestration(@Mocked final int type,
@Mocked final Object request,
@Mocked final String responseFile) throws Exception{
new NonStrictExpectations() {
{
XStream xstream = new XStream();
File obligationResponseList = new File(mockDataDir
+ responseFile);
FileReader xmlReader = new FileReader(
obligationResponseList);
if (type == 1) {
orchestrationInstance
.retrieveServiceObligationResponseByServiceObligationRequest(
(ServiceObligationRequest) request,
(AppContext) any);
} else if (type ==2) {
orchestrationInstance
.retrieveServiceObligationEntitlementResponseByServiceObligationEntitlementRequest(
(ServiceObligationEntitlementRequest) request,
(AppContext) any);
} else if (type == 3) {
orchestrationInstance
.retrieveServiceObligationHeaderOfferResponseByServiceObligationProductRequest(
(ServiceObligationProductRequest) request,
(AppContext) any);
}
else if (type == 4) {
orchestrationInstance
.retrieveServiceObligationCustomerDocumentByServiceObligationRequest(
(ServiceObligationRequest) request,
(AppContext) any);
}
result = xstream.fromXML(xmlReader);
}
};
}
But while running i am getting this error
java.lang .IllegalArgumentException: Ungültige bedingte Anweisung innerhalb Erwartung Block bei com.hp.it.sbs.obligation.service.ObligationServiceImplMockTest_old 1 $ (ObligationServiceImplMockTest_old.java:2560) bei com.hp.it.sbs.obligation.service.ObligationServiceImplMockTest_old. .setExpectionsForOrchestration (ObligationServiceImpl MockTest_old.java:2547) bei com.hp.it.sbs.obligation.service.ObligationServiceImplMockTest_old.testRetrieveServiceObligationResponsesByServiceObligationRequests (ObligationServiceImplMockTest_old.java:169) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) bei java.lang. reflect.Method.invoke (Method.java:597) bei org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:50) bei org.eclipse.jdt.internal.junit.runner .TestExecution.run (TestExecution.java:38) bei org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:459) bei org.eclipse.jdt.internal.junit.runner .RemoteTestRu nner.runTests (RemoteTestRunner.java:675) bei org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:382) bei org.eclipse.jdt.internal.junit.runner. RemoteTestRunner.main (RemoteTestRunner.java:192)
Kann jemand auf diese Frage beantworten. Ich verwende die jmockit Version 1.21