je veux tester mon projet de printemps. J'ai besoin de se moquer d'un client feignant dans une classe de test, mais une implémentation normale serait automatisée au lieu d'une implémentation simulée. voici le top de mes codes. aide de plz.mise en œuvre simulée pour feindre client ne serait pas autowire
@Profile("test")
@Primary
@Component
public class PushDevClientMock implements PushDevClient {
//apiKey is needed for comminucating with GCM
private static final String apiKey = "AIzaSyC7nH1yMgfGnEHbOHCgAeOrspMReaj0hCg";
@Override
public ResponseEntity<PushInstanceResponse> getPushInstance(@PathVariable("instanceId") String instanceId) {
ResponseEntity<PushInstanceResponse> response;
if (instanceId == null) {
response = new ResponseEntity<PushInstanceResponse>(HttpStatus.BAD_REQUEST);
}
else {
PushInstanceResponse body = new PushInstanceResponse();
body.setApiKey(apiKey);
response = new ResponseEntity<PushInstanceResponse>(body,HttpStatus.ACCEPTED);
}
return response;
}
}
ici est ma classe de test:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebIntegrationTest({"server.port:0", "spring.profiles.active:test"})
public class RegistrationControllerTest {
@Autowired
WebApplicationContext wac;
@Autowired
TokenRepository tokenRepository;
private static MockMvc mockMvc;
private static ObjectMapper mapper = new ObjectMapper();
// token and sender id are required for communicating with google
private static String senderId = "553921561995";
private static String token =
"ecdNq6_jeTM:APA91bEgWsJeIS5cXFwWrj_83EKeLWRFf1" +
"- lNQGXA1uWdzrfHLpd7fAY7ur6Pplc4TQuKmEDiSUhUBhDdQLwG2a_fxdgoGbDrKNLjPm2E7JOMJFjk65jtFGHrjJ39NkgABtfn6MDVUCQ";
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(wac).apply(springSecurity()).build();
tokenRepository.deleteAll();
}