[JAVA] Ich war süchtig danach, in @ SpringApplicationConfiguration-> @SpringBootTest umzuschreiben

Spring 5.0.x und Spring Boot 2.0.x wurden veröffentlicht, aber dieses Mal werde ich schreiben, wovon ich süchtig war, als ich den mit der alten Spring-Version implementierten Code überarbeitet habe.

Was du machen willst

Da @SpringApplicationConfiguration seit Spring 1.4 veraltet ist, möchte ich es durch @SpringBootTest ersetzen, das als alternative Anmerkung bereitgestellt wird. Die Umgebung ist Spring Boot (1.4.8), PowerMock (1.6.5)

Wo ich süchtig war

Wenn Sie sich den [offiziellen Blog] ansehen (https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4), können Sie anscheinend nur die Anmerkung, aber den Test neu schreiben Wenn ich versuche, es auszuführen, schlägt es mit einer ClassNotFoundException fehl.

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

Ursache

Wenn Sie PowerMock v1.6.5 oder früher zusammen verwenden, scheint es, dass eine ClassNotFoundException aufgrund eines Fehlers in PowerMock auftritt. Referenzausgabe 1, Referenzausgabe 2

Korrespondenz

Da der Fehler in 1.6.6 behoben wurde, schreiben wir nicht nur die Spring-Annotation neu, sondern geben auch die PowerMock-Version auf 1.6.6 oder höher an.

pom.xml


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

Referenz

Recommended Posts

Ich war süchtig danach, in @ SpringApplicationConfiguration-> @SpringBootTest umzuschreiben
Ich war süchtig danach, sbt zu starten
Ich war süchtig nach der Rollmethode
Ich war süchtig nach dem Spring-Batch-Test
Ich war süchtig nach RXTX mit Sierra
Ich war süchtig danach, onActivityResult () mit DialogFragment zu machen
Ich war süchtig nach NoSuchMethodError in Cloud-Endpunkten
Ich war süchtig nach der Aufzeichnung des zugehörigen Modells
Wovon ich bei der Einführung der JNI-Bibliothek süchtig war
Was ich beim Update auf Spring Boot 1.5.12 behoben habe ・ Wovon ich süchtig war
Ich war süchtig danach, default_url_options mit der Einführung von Rails zu setzen
Ich war süchtig danach, die Update-Anweisung in MyBatis zu wiederholen
Ich war süchtig nach Laradock + VSCode + xdebug
Was ich mit der Redmine REST API süchtig gemacht habe
Ich war seltsamerweise süchtig danach, Javas Stream-API mit Scala zu verwenden
Die Geschichte, nach der ich beim Einrichten von STS süchtig war
Android Memo-I war süchtig nach Erlaubnis
[Circle CI] Eine Geschichte, der ich bei Start Building verfallen war
Ein Hinweis, als ich süchtig danach war, Ubuntu auf WSL1 in WSL2 zu konvertieren
Wovon ich süchtig war, als ich die Google-Authentifizierung mit Rails implementierte
Über die Sache, dass ich süchtig danach war, wie man Hashmap benutzt
Ich war süchtig nach der API-Version min23 von registerTorchCallback
Memorandum: Wovon ich süchtig war, als ich auf die Accounting Freee API traf
[Rails] Ich war süchtig nach den Nginx-Einstellungen, als ich Action Cable verwendete.
Eine Geschichte, der ich beim Testen der API mit MockMVC verfallen war
Ich war süchtig danach, MySQL 8.0 mit einem 5.7-Gefühl zu berühren. My.cnf-Konfigurationsproblem
Ich war süchtig nach einem einfachen Test von Jedis (Java-> Redis-Bibliothek)
Probleme, denen ich beim Erstellen der Digdag-Umgebung mit Docker verfallen war
Aufgenommen, weil ich süchtig nach der Standardeingabe der Scannerklasse war
Ich war süchtig nach Scrollview, weil ich nicht auf die UIView mit variabler Größe tippen konnte
[Circle CI] Ich war süchtig nach dem automatischen Test von Circle CI (Rails + MySQL) [Memo]
Ich war ein wenig süchtig nach SSH-Verbindung von Mac zu Linux (Ubuntu)
Ich war süchtig nach Unit-Tests mit dem Pufferoperator in RxJava
Ich war süchtig danach, vom Docker-Container aus keine Verbindung zu AWS-S3 herstellen zu können
Ich war ein wenig süchtig nach dem S3-Prüfsummenvergleich, machen Sie sich also eine Notiz.
SpringSecurity Ich war süchtig danach, mich mit einem Hash-Passwort anzumelden (gelöst)
Wovon ich süchtig war, als ich eine Spring Boot-Anwendung mit VS Code entwickelte
Beachten Sie, dass ich süchtig nach Stapelverarbeitung mit Spring Boot war
Der Teil, dem ich in "Einführung in Ajax in Java-Webanwendungen" von NetBeans verfallen war
Beachten Sie, dass ich von den Einstellungen des Android-Projekts von IntelliJ IDEA abhängig war
Eine Geschichte, nach der ich süchtig war, als ich einen Schlüssel bekam, der automatisch auf MyBatis ausprobiert wurde
Ich war süchtig nach getXxxx von ResultSet, weil es ein primitiver Typ ist (Java)
Eine Geschichte, die mich während des Komponententests von der impliziten Typkonvertierung von ActiveRecord abhängig machte
Ich war süchtig nach WSl, als ich versuchte, mit Vue.js eine Entwicklungsumgebung für Android-Anwendungen zu erstellen
Technische Ursachen und Gegenmaßnahmen für die Punkte, denen ich mit der ersten Android-App und Kotlin verfallen war
[Rails] So lösen Sie ActiveSupport :: MessageVerifier :: InvalidSignature, von dem ich bei der Einführung des Twitter-Logins abhängig war [ActiveStorage]