You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IDEA中使用jcstress报错FATAL: No matching tests问题排查

解决JCStress「FATAL: No matching tests」错误及相关问题

错误含义

「FATAL: No matching tests」表示JCStress未识别到任何符合要求的并发测试用例,因此无法执行测试流程,自然不会生成Run Results目录和index.html报告文件。

排查方向(配置/代码层面)

  • 注解使用不规范:
    • 确认@JCStressTest、@State、@Actor/@Arbiter等注解均来自org.openjdk.jcstress.annotations包,不要导入错误的依赖包。
    • 测试类中必须存在标注@Actor的方法(模拟并发执行的逻辑),@Arbiter方法可选(用于验证结果);@State注解需标注在存储测试状态的类上(可以是测试类本身,也可以是单独的类)。缺少核心注解会导致JCStress无法识别测试逻辑。
  • IDEA运行配置错误:
    • 运行JCStress必须以org.openjdk.jcstress.Main为主类,不能直接运行测试类。
    • 在运行配置的「Program arguments」中,需指定测试类的全限定名(如-t com.example.OrderingTest01)或扫描路径,否则JCStress默认扫描当前路径时可能找不到目标测试类。
  • 依赖与环境不兼容:
    • 检查项目依赖的JCStress版本,确保与本地JDK版本匹配(比如JCStress 0.17要求JDK 11+),版本不兼容可能导致注解扫描失败。
  • 测试类路径问题:
    • 确保测试类放在标准测试目录下(如Maven的src/test/java),而非主源码目录,否则JCStress的类扫描逻辑可能无法定位到测试类。

VM非致命报错的影响

这些报错通常是JCStress为模拟真实并发场景,启用了特殊JVM参数(如-XX:-UseBiasedLocking、-XX:+UnlockDiagnosticVMOptions等)导致的兼容性警告,一般不会直接引发「No matching tests」错误。但如果参数错误导致类加载异常,可能间接影响注解扫描,建议核对JCStress官方推荐的VM参数是否正确配置。

内容的提问来源于stack exchange,提问作者MMMMMCCLXXVII

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:45:36