@MethodSource引用方法未找到及AbstractMethodError问题求助
问题原因及解决办法
你的测试代码写法是对的,问题出在JUnit Jupiter组件版本不兼容——你当前的pom只引入了API和参数化测试依赖,却没加对应的运行时引擎,或者依赖传递引入了低版本的引擎,导致运行时API与实现不匹配,触发了AbstractMethodError,后面的参数配置错误只是这个异常引发的次生问题。
解决步骤:
替换现有JUnit依赖:
删掉pom里单独的junit-jupiter-api和junit-jupiter-params,改用统一的junit-jupiter依赖,它会自动包含所有必要组件(API、参数化模块、运行引擎),还能保证版本一致:<dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.9.2</version> <scope>test</scope> </dependency> </dependencies>清理并重建项目:
执行maven命令清理旧依赖缓存,重新构建:mvn clean install重新运行测试:
此时@MethodSource就能正确找到newGameProvider方法,报错会完全消失。
内容的提问来源于stack exchange,提问作者IDK
相关产品推荐
相关产品推荐

