70 votes

Quelle est l'annotation appropriée depuis que @SpringApplicationConfiguration, @WebIntegration, est obsolète dans Spring Boot Framework?

Quelle est la bonne annotation depuis @SpringApplicationConfiguration et @WebIntegration sont obsolètes dès le Printemps de Démarrage Cadre 1.4? Je suis en train de jouer avec des tests unitaires.

50voto

Artem Bilan Points 8828

Jetez un oeil dans la documentation Javadoc de déprécié classes:

* @deprecated as of 1.4 in favor of
 * {@link org.springframework.boot.test.context.SpringBootTest} with
 * {@code webEnvironment=RANDOM_PORT} or {@code webEnvironment=DEFINED_PORT}.
 */
...
@Deprecated
public @interface WebIntegrationTest {

* @deprecated as of 1.4 in favor of {@link SpringBootTest} or direct use of
* {@link SpringBootContextLoader}.
*/
...
@Deprecated
public @interface SpringApplicationConfiguration {

Est-il aussi un remplacement pour TestRestTemplate()?

Oui, il est ici:

 * @deprecated as of 1.4 in favor of
 * {@link org.springframework.boot.test.web.client.TestRestTemplate}
 */
@Deprecated
public class TestRestTemplate extends RestTemplate {

29voto

user1767316 Points 11

Un bon endroit pour commencer est sans doute aujourd'hui: Test des améliorations au Printemps de Démarrage 1.4.

Ils décrivent un échantillon de base comme suit:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
public class MyTest {
}

en remplacement, l'un des nombreux:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(MyApp.class)
@WebIntegrationTest
public class MyTest {
}

9voto

satish chennupati Points 1481

vous pouvez utiliser @EnableAutoConfiguration ou @SpringBootApplication.

pour fins de test, vous pouvez utiliser @SpringBootTest(webEnvironment='valeur') ou tout simplement @SpringBootTest

veuillez consulter :

http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html

pour tester le RESTE, vous pouvez utiliser @RestClientTest et configurer un RestTemplateBuilder.

6voto

Grigore Chis Points 19

Vous devez utiliser cette annotation:

@ContextConfiguration(classes = main_class)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X