使用SpringBoot测试时报错:
`java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123)
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190)
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:244)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
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: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSource’ defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration
H
i
k
a
r
i
.
c
l
a
s
s
]
:
B
e
a
n
i
n
s
t
a
n
t
i
a
t
i
o
n
v
i
a
f
a
c
t
o
r
y
m
e
t
h
o
d
f
a
i
l
e
d
;
n
e
s
t
e
d
e
x
c
e
p
t
i
o
n
i
s
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
B
e
a
n
I
n
s
t
a
n
t
i
a
t
i
o
n
E
x
c
e
p
t
i
o
n
:
F
a
i
l
e
d
t
o
i
n
s
t
a
n
t
i
a
t
e
[
c
o
m
.
z
a
x
x
e
r
.
h
i
k
a
r
i
.
H
i
k
a
r
i
D
a
t
a
S
o
u
r
c
e
]
:
F
a
c
t
o
r
y
m
e
t
h
o
d
′
d
a
t
a
S
o
u
r
c
e
′
t
h
r
e
w
e
x
c
e
p
t
i
o
n
;
n
e
s
t
e
d
e
x
c
e
p
t
i
o
n
i
s
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
a
u
t
o
c
o
n
f
i
g
u
r
e
.
j
d
b
c
.
D
a
t
a
S
o
u
r
c
e
P
r
o
p
e
r
t
i
e
s
Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties
Hikari.class]:Beaninstantiationviafactorymethodfailed;nestedexceptionisorg.springframework.beans.BeanInstantiationException:Failedtoinstantiate[com.zaxxer.hikari.HikariDataSource]:Factorymethod′dataSource′threwexception;nestedexceptionisorg.springframework.boot.autoconfigure.jdbc.DataSourcePropertiesDataSourceBeanCreationException: Failed to determine a suitable driver class
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:656)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean
0
(
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
323
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
S
i
n
g
l
e
t
o
n
B
e
a
n
R
e
g
i
s
t
r
y
.
g
e
t
S
i
n
g
l
e
t
o
n
(
D
e
f
a
u
l
t
S
i
n
g
l
e
t
o
n
B
e
a
n
R
e
g
i
s
t
r
y
.
j
a
v
a
:
222
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
d
o
G
e
t
B
e
a
n
(
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
321
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
g
e
t
B
e
a
n
(
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
202
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
p
r
e
I
n
s
t
a
n
t
i
a
t
e
S
i
n
g
l
e
t
o
n
s
(
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
879
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
c
o
n
t
e
x
t
.
s
u
p
p
o
r
t
.
A
b
s
t
r
a
c
t
A
p
p
l
i
c
a
t
i
o
n
C
o
n
t
e
x
t
.
f
i
n
i
s
h
B
e
a
n
F
a
c
t
o
r
y
I
n
i
t
i
a
l
i
z
a
t
i
o
n
(
A
b
s
t
r
a
c
t
A
p
p
l
i
c
a
t
i
o
n
C
o
n
t
e
x
t
.
j
a
v
a
:
878
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
c
o
n
t
e
x
t
.
s
u
p
p
o
r
t
.
A
b
s
t
r
a
c
t
A
p
p
l
i
c
a
t
i
o
n
C
o
n
t
e
x
t
.
r
e
f
r
e
s
h
(
A
b
s
t
r
a
c
t
A
p
p
l
i
c
a
t
i
o
n
C
o
n
t
e
x
t
.
j
a
v
a
:
550
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
S
p
r
i
n
g
A
p
p
l
i
c
a
t
i
o
n
.
r
e
f
r
e
s
h
(
S
p
r
i
n
g
A
p
p
l
i
c
a
t
i
o
n
.
j
a
v
a
:
747
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
S
p
r
i
n
g
A
p
p
l
i
c
a
t
i
o
n
.
r
e
f
r
e
s
h
C
o
n
t
e
x
t
(
S
p
r
i
n
g
A
p
p
l
i
c
a
t
i
o
n
.
j
a
v
a
:
397
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
S
p
r
i
n
g
A
p
p
l
i
c
a
t
i
o
n
.
r
u
n
(
S
p
r
i
n
g
A
p
p
l
i
c
a
t
i
o
n
.
j
a
v
a
:
315
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
t
e
s
t
.
c
o
n
t
e
x
t
.
S
p
r
i
n
g
B
o
o
t
C
o
n
t
e
x
t
L
o
a
d
e
r
.
l
o
a
d
C
o
n
t
e
x
t
(
S
p
r
i
n
g
B
o
o
t
C
o
n
t
e
x
t
L
o
a
d
e
r
.
j
a
v
a
:
125
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
t
e
s
t
.
c
o
n
t
e
x
t
.
c
a
c
h
e
.
D
e
f
a
u
l
t
C
a
c
h
e
A
w
a
r
e
C
o
n
t
e
x
t
L
o
a
d
e
r
D
e
l
e
g
a
t
e
.
l
o
a
d
C
o
n
t
e
x
t
I
n
t
e
r
n
a
l
(
D
e
f
a
u
l
t
C
a
c
h
e
A
w
a
r
e
C
o
n
t
e
x
t
L
o
a
d
e
r
D
e
l
e
g
a
t
e
.
j
a
v
a
:
99
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
t
e
s
t
.
c
o
n
t
e
x
t
.
c
a
c
h
e
.
D
e
f
a
u
l
t
C
a
c
h
e
A
w
a
r
e
C
o
n
t
e
x
t
L
o
a
d
e
r
D
e
l
e
g
a
t
e
.
l
o
a
d
C
o
n
t
e
x
t
(
D
e
f
a
u
l
t
C
a
c
h
e
A
w
a
r
e
C
o
n
t
e
x
t
L
o
a
d
e
r
D
e
l
e
g
a
t
e
.
j
a
v
a
:
124
)
.
.
.
24
m
o
r
e
C
a
u
s
e
d
b
y
:
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
B
e
a
n
I
n
s
t
a
n
t
i
a
t
i
o
n
E
x
c
e
p
t
i
o
n
:
F
a
i
l
e
d
t
o
i
n
s
t
a
n
t
i
a
t
e
[
c
o
m
.
z
a
x
x
e
r
.
h
i
k
a
r
i
.
H
i
k
a
r
i
D
a
t
a
S
o
u
r
c
e
]
:
F
a
c
t
o
r
y
m
e
t
h
o
d
′
d
a
t
a
S
o
u
r
c
e
′
t
h
r
e
w
e
x
c
e
p
t
i
o
n
;
n
e
s
t
e
d
e
x
c
e
p
t
i
o
n
i
s
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
a
u
t
o
c
o
n
f
i
g
u
r
e
.
j
d
b
c
.
D
a
t
a
S
o
u
r
c
e
P
r
o
p
e
r
t
i
e
s
0(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:125) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) ... 24 more Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties
0(AbstractBeanFactory.java:323)atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879)atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)atorg.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)atorg.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)atorg.springframework.boot.SpringApplication.run(SpringApplication.java:315)atorg.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:125)atorg.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)atorg.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)...24moreCausedby:org.springframework.beans.BeanInstantiationException:Failedtoinstantiate[com.zaxxer.hikari.HikariDataSource]:Factorymethod′dataSource′threwexception;nestedexceptionisorg.springframework.boot.autoconfigure.jdbc.DataSourcePropertiesDataSourceBeanCreationException: Failed to determine a suitable driver class
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651)
… 42 more
Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties
D
a
t
a
S
o
u
r
c
e
B
e
a
n
C
r
e
a
t
i
o
n
E
x
c
e
p
t
i
o
n
:
F
a
i
l
e
d
t
o
d
e
t
e
r
m
i
n
e
a
s
u
i
t
a
b
l
e
d
r
i
v
e
r
c
l
a
s
s
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
a
u
t
o
c
o
n
f
i
g
u
r
e
.
j
d
b
c
.
D
a
t
a
S
o
u
r
c
e
P
r
o
p
e
r
t
i
e
s
.
d
e
t
e
r
m
i
n
e
D
r
i
v
e
r
C
l
a
s
s
N
a
m
e
(
D
a
t
a
S
o
u
r
c
e
P
r
o
p
e
r
t
i
e
s
.
j
a
v
a
:
233
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
a
u
t
o
c
o
n
f
i
g
u
r
e
.
j
d
b
c
.
D
a
t
a
S
o
u
r
c
e
P
r
o
p
e
r
t
i
e
s
.
i
n
i
t
i
a
l
i
z
e
D
a
t
a
S
o
u
r
c
e
B
u
i
l
d
e
r
(
D
a
t
a
S
o
u
r
c
e
P
r
o
p
e
r
t
i
e
s
.
j
a
v
a
:
174
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
a
u
t
o
c
o
n
f
i
g
u
r
e
.
j
d
b
c
.
D
a
t
a
S
o
u
r
c
e
C
o
n
f
i
g
u
r
a
t
i
o
n
.
c
r
e
a
t
e
D
a
t
a
S
o
u
r
c
e
(
D
a
t
a
S
o
u
r
c
e
C
o
n
f
i
g
u
r
a
t
i
o
n
.
j
a
v
a
:
43
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
a
u
t
o
c
o
n
f
i
g
u
r
e
.
j
d
b
c
.
D
a
t
a
S
o
u
r
c
e
C
o
n
f
i
g
u
r
a
t
i
o
n
DataSourceBeanCreationException: Failed to determine a suitable driver class at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:233) at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:174) at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:43) at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration
DataSourceBeanCreationException:Failedtodetermineasuitabledriverclassatorg.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:233)atorg.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:174)atorg.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:43)atorg.springframework.boot.autoconfigure.jdbc.DataSourceConfigurationHikari.dataSource(DataSourceConfiguration.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
… 43 more`
一般出现这种错就是配置文件出错了,经过仔细检查后发现没有连接数据库的application.yml文件,解决办法有两种:
1、在resources下配置application.yml文件
如图
2、去掉需要配置文件的依赖
因为暂时不需要连接数据库,所以我先注释了数据库连接时的依赖: