Maison > Java > javaDidacticiel > le corps du texte

Le test unitaire Springboot dépend de l'analyse du code source de l'exemple de fosse

王林
Libérer: 2023-05-23 19:01:29
avant
1306 Les gens l'ont consulté

springboot单元测试依赖踩坑

在进行springboot 单元测试的时候,发现如下错误。

# 🎜🎜#
java.lang.IllegalStateException : impossible charger CacheAwareContextLoaderDelegate [class org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]

    sur org.springframework.test.context.BootstrapUtils.createCacheAwareContextLoaderDelegate(BootstrapUtils.java:103)#🎜 🎜#    à l'org. springframework.test.context.BootstrapUtils.createBootstrapContext(BootstrapUtils.java:72)

    sur org.springframework.test.context.TestContextManager.(TestContextManager.java:124)
    sur org.springframework .test.context.junit4.SpringJUnit4ClassRunner.createTestContextManager(SpringJUnit4ClassRunner.java:151)
    à org.springframework.test.context.junit4.SpringJUnit4ClassRunner.(SpringJUnit4ClassRunner.java:142)#🎜 🎜#    à org.springframework.test.context.junit4.SpringRunner.(SpringRunner.java:49)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl. newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)#🎜 🎜#    sur org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
    sur org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
    sur org .junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    sur org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    sur org.junit.runners .model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    à org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
    à org.junit.internal.requests.FilterRequest .getRunner(FilterRequest.java:36)
    à com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
    à com.intellij.rt.execution.junit.IdeaTestRunner$Re tourter.startRunnerWithArgs (IdeaTestRunner.java:47)
    sur com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    sur com.intellij.rt.execution.junit.JUnitStarter.main (JUnitStarter.java:70)
Causé par : org.springframework.beans.BeanInstantiationException : échec de l'instanciation de [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] : définition de classe insoluble ; L'exception imbriquée est java.lang.NoSuchMethodError : org.springframework.core.KotlinDetector.isKotlinReflectPresent()Z
    à org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:132)
    à org.springframework .beans.BeanUtils.instantiateClass(BeanUtils.java:152)
    at org.springframework.test.context.BootstrapUtils.createCacheAwareContextLoaderDelegate(BootstrapUtils.java:100)
    ... 20 de plus
Caused par : java.lang.NoSuchMethodError : org.springframework.core.KotlinDetector.isKotlinReflectPresent()Z
    à org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:171)
    à org.springframework. beans.BeanUtils.instantiateClass(BeanUtils.java:122)
    ... 22 de plus


一天以前单测是能跑的,初步预计是依赖的问题。由于模块间的引用较多,因此需要逐一检查每个模块是否存在问题。

如下步骤

#🎜🎜 #1. 在出现问题的单测归属模块的pom文件中,找到所有模块间依赖

  • 2. 依次到各个模块进行单元测试,定位问题模块

  • 3. 发现问题模块 carrier-api

    # 🎜🎜#

  • #🎜 🎜#再往下深入,检查carrier-api依赖
幸运的是,问题的根源迅是由于spring-web的引用导致的错误。将该引用注释掉,并且将相关代码进行引用替换。

Problème résolu

Le test unitaire Springboot dépend de lanalyse du code source de lexemple de fosse

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal