Ceci est mon code que je voulais testerOverride ne fonctionne pas
@AdminAccessOnly
@Repository
public class TenResImpl extends TenAbstractResImpl implements TenIdRes {
private Invocation request;
protected void messageSend(String iD) {
Client client = utils.createClient();
WebTarget webTarget = client.target(location).path("/testurl/" + tenantId);
Invocation.Builder requestBuilder = webTarget.request();
Response response = null;
response = sendRequest(); //here I call the method!!!!!!!
if (response.getStatusInfo().getFamily() != Status.Family.SUCCESSFUL) {
// do something
} else {
//do something
}
}
protected Response sendRequest() {
return request.invoke(); // here is the method which should be over written !!!!
}
}
c'est mon autre méthode dans ma classe de test:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TestBoot.class)
@EnableAutoConfiguration(exclude = Application.class)
public class TenResImplTest extends TenResImpl{
@Autowired
private TenResImpl tenResImpl;
@Test
public void testMessageSend() throws Exception {
this.tenResImpl.messageSend("132");
}
@Override
protected Response sendRequest() {
StatusType statusType = Mockito.mock(StatusType.class);
when(statusType.getFamily()).thenReturn(Status.Family.SUCCESSFUL);
Response response = Mockito.mock(Response.class);
return response;
}
}
mais chaque fois que je déboguer à travers elle, je vois que il saute dans la méthode SendRequest() qui est dans la classe TenResImpl au lieu d'aller à ma classe de test ... ce que je fais mal? la visibilité d'accès est protégée sur les deux et les deux sont dans le même paquet
Pouvez-vous montrer où vous l'appelez? – Mureinik
oui j'ai ajouté quelques commentaires ci-dessus – Nali
Pouvez-vous nous montrer l'instanciation de votre classe? –