无法运行Karate测试:Feature文件未找到,提示无可用场景
解决Karate测试中"no features or scenarios found"错误的排查步骤
1. 检查Feature文件路径与Runner类的匹配
你的Runner类指定了路径classpath:examples/users,需确保:
- 复制的演示项目Feature文件确实在
src/test/java/examples/users目录下,且文件名以.feature结尾(如users.feature) - IDE未将
src/test/java下的非.java文件排除:部分IDE默认不会识别该目录下的.feature文件,可右键目录→Mark Directory as→Test Resources Root(以IDEA为例)
2. 补充Maven资源配置
若Maven未正确加载src/test/java下的.feature文件,需在pom.xml中添加以下配置:
<build> <testResources> <testResource> <directory>src/test/java</directory> <includes> <include>**/*.feature</include> </includes> </testResource> </testResources> </build>
3. 验证Runner类代码正确性
确认UsersRunner的注解和路径配置无误,示例如下:
import com.intuit.karate.junit5.Karate; class UsersRunner { @Karate.Test Karate testUsers() { return Karate.run("examples/users").relativeTo(getClass()); } }
注意:relativeTo(getClass())会基于Runner类的包路径查找文件,若Runner与Feature文件包层级不一致,可去掉该方法直接使用绝对classpath路径。
4. 清理并重构项目
- 执行Maven命令清理缓存:
mvn clean test - 若使用IDE,执行"Clean Project"或"Rebuild Project"操作,避免旧编译文件干扰
5. 排查依赖冲突
通过mvn dependency:tree检查项目依赖,确保JUnit 5版本与Karate 1.3.1兼容(Karate 1.3.1依赖JUnit 5.8.1及以上版本)
内容的提问来源于stack exchange,提问作者xploreraj
相关产品推荐
相关产品推荐

