[JAVA] J'étais accro à la réécriture sur @ SpringApplicationConfiguration-> @SpringBootTest

Spring 5.0.x et Spring Boot 2.0.x ont été publiés, mais cette fois, j'écrirai ce à quoi j'étais accro lors de la refactorisation du code implémenté à l'aide de l'ancienne version de Spring.

Chose que tu veux faire

Puisque @SpringApplicationConfiguration est obsolète depuis le printemps 1.4, je voudrais le remplacer par @SpringBootTest, qui est fourni comme une annotation alternative. L'environnement est Spring Boot (1.4.8), PowerMock (1.6.5)

Où j'étais accro

En regardant le Blog officiel, il semble que vous pouvez simplement réécrire l'annotation, mais le test Lorsque j'essaye de l'exécuter, cela échoue avec une ClassNotFoundException.

TestSample.java


@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@PrepareForTest(Hoge.class)
public class TestSample
{
   @Before
   public void setUp() throws Exception {
       PowerMockito.mockStatic(Hoge.class);
   }
 ...
}
java.lang.ClassNotFoundException: com.example.PowermockClassLoadTest$Config$$EnhancerBySpringCGLIB$$e0ecd163

Cause

Lorsque vous utilisez PowerMock v1.6.5 ou une version antérieure ensemble, il semble qu'une exception ClassNotFoundException se produit en raison d'un bogue dans PowerMock. Numéro de référence 1, Numéro de référence 2

Correspondance

Puisque le bogue a été corrigé dans la version 1.6.6, réécrivons non seulement l'annotation Spring, mais spécifions également la version PowerMock à 1.6.6 ou version ultérieure.

pom.xml


<dependencies>
  <dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-module-junit4</artifactId>
    <version>1.6.6</version>
    <scope>test</scope>
  </dependency>
</dependencies>

référence

Recommended Posts

J'étais accro à la réécriture sur @ SpringApplicationConfiguration-> @SpringBootTest
J'étais accro au démarrage de sbt
J'étais accro à la méthode du rouleau
J'étais accro au test Spring-Batch
J'étais accro à l'utilisation de RXTX avec Sierra
J'étais accro à faire onActivityResult () avec DialogFragment
J'étais accro à NoSuchMethodError dans Cloud Endpoints
J'étais accro au record du modèle associé
Ce à quoi j'étais accro lors de l'introduction de la bibliothèque JNI
Ce que j'ai corrigé lors de la mise à jour vers Spring Boot 1.5.12 ・ Ce à quoi j'étais accro
J'étais accro à la configuration de default_url_options avec l'introduction de la conception de Rails
J'étais accro à la mise à jour de la déclaration dans MyBatis
J'étais accro au réglage de laradock + VSCode + xdebug
Ce à quoi j'étais accro avec l'API REST Redmine
J'étais étrangement accro à l'utilisation de l'API Stream de Java avec Scala
L'histoire à laquelle j'étais accro lors de la création de STS
Mémo Android - J'étais accro à la permission
[Circle CI] Une histoire à laquelle j'étais accro chez Start Building
Une note quand j'étais accro à la conversion d'Ubuntu sur WSL1 en WSL2
Ce à quoi j'étais accro lors de la mise en œuvre de l'authentification Google avec des rails
À propos de la question pour laquelle j'étais accro à l'utilisation de hashmap
J'étais accro au paramètre API version min23 de registerTorchCallback
Mémorandum: Ce à quoi j'étais accro quand j'ai frappé l'API de comptabilité freee
[Rails] J'étais accro aux paramètres nginx lors de l'utilisation d'Action Cable.
Une histoire à laquelle j'étais accro lors du test de l'API à l'aide de MockMVC
J'étais accro à l'idée de toucher MySQL 8.0 avec un sentiment de 5.7. Problème de configuration My.cnf
J'étais accro à un simple test de Jedis (bibliothèque Java-> Redis)
Problèmes auxquels j'étais accro lors de la création de l'environnement digdag avec docker
Enregistré parce que j'étais accro à l'entrée standard de la classe Scanner
J'étais accro au scrollview car je ne pouvais pas appuyer sur la taille variable UIView
[Circle CI] J'étais accro au test automatique de Circle CI (rails + mysql) [Memo]
J'étais un peu accro à la connexion ssh de mac à linux (ubuntu)
J'étais accro aux tests unitaires avec l'opérateur de tampon dans RxJava
J'étais accro à ne pas pouvoir me connecter à AWS-S3 à partir du conteneur Docker
J'étais un peu accro à la comparaison S3 Checksum, alors prenez note.
SpringSecurity J'étais accro à essayer de me connecter avec un mot de passe haché (résolu)
Ce à quoi j'étais accro lors du développement d'une application Spring Boot avec VS Code
Notez que j'étais accro au traitement par lots avec Spring Boot
La partie à laquelle j'étais accro dans "Introduction à Ajax dans les applications Web Java" de NetBeans
Notez que j'étais accro aux paramètres du projet Android d'IntelliJ IDEA
Une histoire à laquelle j'étais accro lors de l'obtention d'une clé qui a été automatiquement essayée sur MyBatis
J'étais accro à getXxxx de ResultSet car c'est un type primitif (Java)
Une histoire dans laquelle j'étais accro à la conversion de type implicite d'ActiveRecord lors du test unitaire
J'étais accro à WSl en essayant de créer un environnement de développement d'applications Android avec Vue.js
Causes techniques et contre-mesures pour les points auxquels j'étais accro avec la première application Android et Kotlin
[Rails] Comment résoudre ActiveSupport :: MessageVerifier :: InvalidSignature auquel j'étais accro lors de l'introduction de la connexion Twitter [ActiveStorage]