Classpath resource [/data/department/createDepartment.csv] does not exist
一、问题现象
在做自动化的时候,想使用参数化功能,数据源为CSV,但是遇到以下问题
Classpath resource [/data/department/createDepartment.csv] does not exist
org.junit.platform.commons.PreconditionViolationException: Classpath resource [/data/department/createDepartment.csv] does not exist at org.junit.platform.commons.util.Preconditions.condition(Preconditions.java:296) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58) Suppressed: org.junit.platform.commons.PreconditionViolationException: Configuration error: You must configure at least one set of arguments for this @ParameterizedTest at org.junit.platform.commons.util.Preconditions.condition(Preconditions.java:281) at org.junit.jupiter.params.ParameterizedTestExtension.lambda$provideTestTemplateInvocationContexts$6(ParameterizedTestExtension.java:90) at java.util.stream.AbstractPipeline.close(AbstractPipeline.java:323) at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271) ... 49 more
二、问题定位
maven项目的classPath路径下没有文件/data/department/createDepartment.csv,即maven的classPath在 “target\classes”目录下
三、原因分析
maven默认只会加载classPath同级目录下文件,其他的需要重新设置
四、解决方案
1、选中项目工程,右键,选择Open Moudle Settings,选择Resources,点击apply
===========================================================================================
2、在pom文件的bulid标签配置<resources>(极力推荐)
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <!--是否替换资源中的属性--> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.yml</include> <include>**/Dockerfile</include> <include>**/*.xlsx</include> <include>**/*.csv</include> </includes> <!--是否替换资源中的属性--> <filtering>false</filtering> </resource> </resources>
五、总结
此种问题,是因为还不够了解maven,看来还是需要多研究研究
推荐博客:
知道、想到、做到、得到
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)