从零开始SpringCloud Alibaba实战(70)——Spring Boot单元测试报错 Could not load TestContextBootstrapper [null]

1 报错描述

D:\soft\jdk\jdk1.8.0_45\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\soft\idea\IntelliJ IDEA 2018.3.2\lib\idea_rt.jar=10062:D:\soft\idea\IntelliJ IDEA 2018.3.2\bin" -Dfile.encoding=UTF-8 -classpath "D:\soft\idea\IntelliJ IDEA 2018.3.2\lib\idea_rt.jar;D:\soft\idea\IntelliJ IDEA 2018.3.2\plugins\junit\lib\junit-rt.jar;D:\soft\idea\IntelliJ IDEA 2018.3.2\plugins\junit\lib\junit5-rt.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\charsets.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\deploy.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\access-bridge-64.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\cldrdata.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\dnsns.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\jaccess.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\jfxrt.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\localedata.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\nashorn.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\sunec.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\sunjce_provider.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\sunmscapi.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\sunpkcs11.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\ext\zipfs.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\javaws.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\jce.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\jfr.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\jfxswt.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\jsse.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\management-agent.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\plugin.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\resources.jar;D:\soft\jdk\jdk1.8.0_45\jre\lib\rt.jar;E:\daima\nacosYM\mallLearn\mall-ShardingSphere-clint\target\classes;D:\env\repository\org\springframework\boot\spring-boot-starter-web\2.2.7.RELEASE\spring-boot-starter-web-2.2.7.RELEASE.jar;D:\env\repository\org\springframework\boot\spring-boot-starter-json\2.2.7.RELEASE\spring-boot-starter-json-2.2.7.RELEASE.jar;D:\env\repository\com\fasterxml\jackson\core\jackson-databind\2.10.4\jackson-databind-2.10.4.jar;D:\env\repository\com\fasterxml\jackson\core\jackson-annotations\2.10.4\jackson-annotations-2.10.4.jar;D:\env\repository\com\fasterxml\jackson\core\jackson-core\2.10.4\jackson-core-2.10.4.jar;D:\env\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.10.4\jackson-datatype-jdk8-2.10.4.jar;D:\env\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.10.4\jackson-datatype-jsr310-2.10.4.jar;D:\env\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.10.4\jackson-module-parameter-names-2.10.4.jar;D:\env\repository\org\springframework\boot\spring-boot-starter-tomcat\2.2.7.RELEASE\spring-boot-starter-tomcat-2.2.7.RELEASE.jar;D:\env\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.34\tomcat-embed-core-9.0.34.jar;D:\env\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.34\tomcat-embed-el-9.0.34.jar;D:\env\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.34\tomcat-embed-websocket-9.0.34.jar;D:\env\repository\org\springframework\boot\spring-boot-starter-validation\2.2.7.RELEASE\spring-boot-starter-validation-2.2.7.RELEASE.jar;D:\env\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;D:\env\repository\org\hibernate\validator\hibernate-validator\6.0.19.Final\hibernate-validator-6.0.19.Final.jar;D:\env\repository\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;D:\env\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;D:\env\repository\org\springframework\spring-web\5.2.6.RELEASE\spring-web-5.2.6.RELEASE.jar;D:\env\repository\org\springframework\spring-beans\5.2.6.RELEASE\spring-beans-5.2.6.RELEASE.jar;D:\env\repository\org\springframework\spring-webmvc\5.2.6.RELEASE\spring-webmvc-5.2.6.RELEASE.jar;D:\env\repository\org\springframework\spring-aop\5.2.6.RELEASE\spring-aop-5.2.6.RELEASE.jar;D:\env\repository\org\springframework\spring-context\5.2.6.RELEASE\spring-context-5.2.6.RELEASE.jar;D:\env\repository\org\springframework\spring-expression\5.2.6.RELEASE\spring-expression-5.2.6.RELEASE.jar;D:\env\repository\org\springframework\boot\spring-boot-starter\2.2.7.RELEASE\spring-boot-starter-2.2.7.RELEASE.jar;D:\env\repository\org\springframework\boot\spring-boot\2.2.7.RELEASE\spring-boot-2.2.7.RELEASE.jar;D:\env\repository\org\springframework\boot\spring-boot-autoconfigure\2.2.7.RELEASE\spring-boot-autoconfigure-2.2.7.RELEASE.jar;D:\env\repository\org\springframework\boot\spring-boot-starter-logging\2.2.7.RELEASE\spring-boot-starter-logging-2.2.7.RELEASE.jar;D:\env\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\env\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\env\repository\org\apache\logging\log4j\log4j-to-slf4j\2.12.1\log4j-to-slf4j-2.12.1.jar;D:\env\repository\org\apache\logging\log4j\log4j-api\2.12.1\log4j-api-2.12.1.jar;D:\env\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;D:\env\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\env\repository\org\springframework\spring-core\5.2.6.RELEASE\spring-core-5.2.6.RELEASE.jar;D:\env\repository\org\springframework\spring-jcl\5.2.6.RELEASE\spring-jcl-5.2.6.RELEASE.jar;D:\env\repository\org\yaml\snakeyaml\1.25\snakeyaml-1.25.jar;D:\env\repository\com\baomidou\mybatis-plus-boot-starter\3.1.1\mybatis-plus-boot-starter-3.1.1.jar;D:\env\repository\com\baomidou\mybatis-plus\3.1.1\mybatis-plus-3.1.1.jar;D:\env\repository\com\baomidou\mybatis-plus-extension\3.1.1\mybatis-plus-extension-3.1.1.jar;D:\env\repository\com\baomidou\mybatis-plus-core\3.1.1\mybatis-plus-core-3.1.1.jar;D:\env\repository\com\baomidou\mybatis-plus-annotation\3.1.1\mybatis-plus-annotation-3.1.1.jar;D:\env\repository\com\github\jsqlparser\jsqlparser\1.2\jsqlparser-1.2.jar;D:\env\repository\org\mybatis\mybatis\3.5.1\mybatis-3.5.1.jar;D:\env\repository\org\mybatis\mybatis-spring\2.0.1\mybatis-spring-2.0.1.jar;D:\env\repository\org\springframework\boot\spring-boot-starter-jdbc\2.2.7.RELEASE\spring-boot-starter-jdbc-2.2.7.RELEASE.jar;D:\env\repository\com\zaxxer\HikariCP\3.4.3\HikariCP-3.4.3.jar;D:\env\repository\org\springframework\spring-jdbc\5.2.6.RELEASE\spring-jdbc-5.2.6.RELEASE.jar;D:\env\repository\org\springframework\spring-tx\5.2.6.RELEASE\spring-tx-5.2.6.RELEASE.jar;D:\env\repository\org\projectlombok\lombok\1.18.12\lombok-1.18.12.jar;D:\env\repository\joda-time\joda-time\2.9.8\joda-time-2.9.8.jar;D:\env\repository\org\apache\shardingsphere\sharding-jdbc-spring-boot-starter\4.0.0-RC2\sharding-jdbc-spring-boot-starter-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-jdbc-core\4.0.0-RC2\sharding-jdbc-core-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-entry\4.0.0-RC2\sharding-core-entry-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-api\4.0.0-RC2\sharding-core-api-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-common\4.0.0-RC2\sharding-core-common-4.0.0-RC2.jar;D:\env\repository\org\codehaus\groovy\groovy\2.4.5\groovy-2.4.5-indy.jar;D:\env\repository\commons-codec\commons-codec\1.13\commons-codec-1.13.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-parse-common\4.0.0-RC2\sharding-core-parse-common-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-parse-spi\4.0.0-RC2\sharding-core-parse-spi-4.0.0-RC2.jar;D:\env\repository\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar;D:\env\repository\org\antlr\antlr4-runtime\4.7.1\antlr4-runtime-4.7.1.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-parse-mysql\4.0.0-RC2\sharding-core-parse-mysql-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-parse-postgresql\4.0.0-RC2\sharding-core-parse-postgresql-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-parse-oracle\4.0.0-RC2\sharding-core-parse-oracle-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-parse-sqlserver\4.0.0-RC2\sharding-core-parse-sqlserver-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-optimize\4.0.0-RC2\sharding-core-optimize-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-route\4.0.0-RC2\sharding-core-route-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-rewrite\4.0.0-RC2\sharding-core-rewrite-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-execute\4.0.0-RC2\sharding-core-execute-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-core-merge\4.0.0-RC2\sharding-core-merge-4.0.0-RC2.jar;D:\env\repository\org\apache\shardingsphere\sharding-transaction-core\4.0.0-RC2\sharding-transaction-core-4.0.0-RC2.jar;D:\env\repository\com\google\guava\guava\30.0-jre\guava-30.0-jre.jar;D:\env\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;D:\env\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;D:\env\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;D:\env\repository\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;D:\env\repository\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;D:\env\repository\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;D:\env\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;D:\env\repository\org\slf4j\jcl-over-slf4j\1.7.30\jcl-over-slf4j-1.7.30.jar;D:\env\repository\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar;D:\env\repository\org\springframework\boot\spring-boot-starter-test\2.2.7.RELEASE\spring-boot-starter-test-2.2.7.RELEASE.jar;D:\env\repository\org\springframework\boot\spring-boot-test\2.2.7.RELEASE\spring-boot-test-2.2.7.RELEASE.jar;D:\env\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.2.7.RELEASE\spring-boot-test-autoconfigure-2.2.7.RELEASE.jar;D:\env\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;D:\env\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;D:\env\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;D:\env\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;D:\env\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;D:\env\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;D:\env\repository\org\junit\jupiter\junit-jupiter\5.5.2\junit-jupiter-5.5.2.jar;D:\env\repository\org\junit\jupiter\junit-jupiter-api\5.5.2\junit-jupiter-api-5.5.2.jar;D:\env\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;D:\env\repository\org\junit\platform\junit-platform-commons\1.5.2\junit-platform-commons-1.5.2.jar;D:\env\repository\org\junit\jupiter\junit-jupiter-params\5.5.2\junit-jupiter-params-5.5.2.jar;D:\env\repository\org\junit\jupiter\junit-jupiter-engine\5.5.2\junit-jupiter-engine-5.5.2.jar;D:\env\repository\org\junit\vintage\junit-vintage-engine\5.5.2\junit-vintage-engine-5.5.2.jar;D:\env\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;D:\env\repository\org\junit\platform\junit-platform-engine\1.5.2\junit-platform-engine-1.5.2.jar;D:\env\repository\junit\junit\4.12\junit-4.12.jar;D:\env\repository\org\mockito\mockito-junit-jupiter\3.1.0\mockito-junit-jupiter-3.1.0.jar;D:\env\repository\org\assertj\assertj-core\3.13.2\assertj-core-3.13.2.jar;D:\env\repository\org\hamcrest\hamcrest\2.1\hamcrest-2.1.jar;D:\env\repository\org\mockito\mockito-core\3.1.0\mockito-core-3.1.0.jar;D:\env\repository\net\bytebuddy\byte-buddy\1.10.10\byte-buddy-1.10.10.jar;D:\env\repository\net\bytebuddy\byte-buddy-agent\1.10.10\byte-buddy-agent-1.10.10.jar;D:\env\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;D:\env\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;D:\env\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;D:\env\repository\org\xmlunit\xmlunit-core\2.6.4\xmlunit-core-2.6.4.jar;D:\env\repository\org\springframework\spring-test\5.3.9\spring-test-5.3.9.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.liu.mall.OrderServiceImplTest,testBillSave
15:54:22.935 [main] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class com.liu.mall.OrderServiceImplTest]
15:54:22.947 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
15:54:22.969 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]. Specify @BootstrapWith's 'value' attribute or make the default bootstrapper class available.

	at org.springframework.test.context.BootstrapUtils.resolveTestContextBootstrapper(BootstrapUtils.java:147)
	at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:122)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTestContextManager(SpringJUnit4ClassRunner.java:151)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:142)
	at org.springframework.test.context.junit4.SpringRunner.<init>(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:422)
	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.NoClassDefFoundError: org/springframework/util/ConcurrentLruCache
	at org.springframework.test.context.TestContextAnnotationUtils.<clinit>(TestContextAnnotationUtils.java:74)
	at org.springframework.test.context.BootstrapUtils.resolveExplicitTestContextBootstrapper(BootstrapUtils.java:157)
	at org.springframework.test.context.BootstrapUtils.resolveTestContextBootstrapper(BootstrapUtils.java:130)
	... 19 more
Caused by: java.lang.ClassNotFoundException: org.springframework.util.ConcurrentLruCache
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 22 more


Process finished with exit code -1

分析原因

spring-webmvc的版本应该与spring-test的版本不一致
在这里插入图片描述

解决办法

org.springframework spring-test 5.2.6.RELEASE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值