jen*_*gar 4 java junit intellij-idea
我在使用intelliJ运行单元测试时遇到问题.我已经浏览了其他论坛,人们有类似的问题,但到目前为止,我仍然无法让它工作.这是错误:
java.lang.IllegalStateException: Failed to load ApplicationContext
...
Caused by: java.io.FileNotFoundException: class path resource [com/d1/d2/service/ServiceTest-context.xml] cannot be opened because it does not exist
Run Code Online (Sandbox Code Playgroud)
在我的测试中,我有:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "ServiceTest-context.xml")
public class ServiceImplTest ....
Run Code Online (Sandbox Code Playgroud)
我已经明确证实该文件存在于由行引起的位置.我还读了一个检查输出目录的建议,我已经验证它也存在.还有什么比你更突出的吗?我可以使用ant从命令行运行测试,但我希望能够运行单个类而不是模块.
项目:
IntelliJ_project
src
test
com
d1
d2
otherStuff
...
...
service
ServiceImplTest.java
ServiceTest-context.xml
Run Code Online (Sandbox Code Playgroud)
导出目录:
test-classes (output folder)
com
d1
d2
service
ServiceImplTest.class
Run Code Online (Sandbox Code Playgroud)
所以事实证明我在错误的目录中寻找输出.上下文文件不会使其到达输出位置.我怎么去那里?
如果这是一个多模块项目,并且您的测试在运行时可以正常工作
mvn test
Run Code Online (Sandbox Code Playgroud)
但是IDEA无法找到配置文件,请尝试以下操作:
在测试类中,将配置更改为:
@ContextConfiguration("file:test/com/d1/d2/service/ServiceTest-context.xml")
Run Code Online (Sandbox Code Playgroud)这个配置对我有用(并且也被spring-mvc-showcase使用).
尝试这个解决方案,它对我有用:
放入文件夹ServiceTest-context.xml中src/test/resources。
将这些行添加到buildpom 的部分:
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
Run Code Online (Sandbox Code Playgroud)重新导入 Maven 项目并运行您的单独测试。
| 归档时间: |
|
| 查看次数: |
8851 次 |
| 最近记录: |