Je fais un test de junit pour un module.Obtention d'une exception pendant les tests Junit
when(myDetailsFacade.getMyDetailsInfo(anyLong())).thenReturn(null);
mrc.getFlowScoe().put("action", "create");
try{
instance.initialiseForm(mrc, mpr);
}catch (Exception e){
fail("Shouldn't get here");
}
model=(MyDetailsForm)mrc.getFlowScope().get("myDetailsFormModel");
assertNotNull(model);
assertEquals(model.getNationality(), "USA");
et je reçois cette erreur
org.mockito.excetions.misusing.MissingMethodInvocationException:
when()requires an argument which has to be a method call on a mock.
For example
when(mock.getArticles()).thenReturn(articles);
en façade sur nous obtenons la valeur hardcode, comme.
private myDetails getMyDetailsData{
myDetails.setNationality("USA");
return myDetails;
}
Ceci est ma méthode initialiseform que j'essaie de tester.
public void initialiseForm (RequestContext requestContext, PortletRequest portletRequest){
requestContext.getFlowScope().put("getTitles", getTitles);
requestContext.getFlowScope().put("getGender", getGender);
BasicModel model = (BasicModel)requestContext.getFlowScope().get("BasicModel");
if(model == null){
model = new BasicModel();
}
model.setEmpName("Edward");
}
Et est la méthode getTitles ici même fichier java.
private Map <String, String> getTitles(){
option.put("Dr", "Dr");
option.put("Mr", "Mr");
return option;
}
Pouvez-vous poster une plus grande partie de votre code entourant l'appel sur le faux? –
Comment créez-vous 'myDetailsFacade'? – Edd
Façade est rien que nous obtenons juste la valeur de code dur de la façade – Akash