Nuestros mejores desarrolladores agotaron sus provisiones de café, por su búsqueda todo el tiempo por la solución, hasta que Rodrigo encontró la contestación en Bitbucket así que hoy la comparte aquí.
Solución:
Sé que esta es una vieja pregunta, y probablemente ya haya encontrado otra solución para esto. Pero estoy respondiendo de todos modos para que otros se tropiecen con él como lo hice yo. Tuve un problema similar y terminé usando @PostConstruct en mi clase de prueba para construir un TestRestTemplate configurado a mi gusto en lugar de usar @TestConfiguration.
@RunWith(SpringJUnit4ClassRunner.class)
@EnableAutoConfiguration
@SpringBootTest(classes = BackendApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MyCookieClientTest
@LocalServerPort
int localPort;
@Autowired
RestTemplateBuilder restTemplateBuilder;
private TestRestTemplate template;
@PostConstruct
public void initialize()
RestTemplate customTemplate = restTemplateBuilder
.rootUri("http://localhost:"+localPort)
....
.build();
this.template = new TestRestTemplate(customTemplate,
null, null, //I don't use basic auth, if you do you can set user, pass here
HttpClientOption.ENABLE_COOKIES); // I needed cookie support in this particular test, you may not have this need
Para configurar su TestRestTemplate, la documentación oficial sugiere que use TestRestTemplate, como se muestra en el siguiente ejemplo (por ejemplo, para agregar una autenticación básica):
public class YourEndpointClassTest {
private static final Logger logger = LoggerFactory.getLogger(YourEndpointClassTest.class);
private static final String BASE_URL = "/your/base/url";
@TestConfiguration
static class TestRestTemplateAuthenticationConfiguration
@Value("$spring.security.user.name")
private String userName;
@Value("$spring.security.user.password")
private String password;
@Bean
public RestTemplateBuilder restTemplateBuilder()
return new RestTemplateBuilder().basicAuthentication(userName, password);
@Autowired
private TestRestTemplate restTemplate;
//here add your tests...