首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.junit.jupiter.api.extension.ParameterResolutionException:没有为参数注册ParameterResolver

org.junit.jupiter.api.extension.ParameterResolutionException:没有为参数注册ParameterResolver
EN

Stack Overflow用户
提问于 2022-01-21 10:07:18
回答 1查看 3K关注 0票数 1

从junit4迁移到junit5时,而不是

代码语言:javascript
复制
@Parameterized.Parameters
public static Collection input() {}

我已经在所有的测试方法之前添加了

代码语言:javascript
复制
@ParameterizedTest
@MethodSource("input")

但我得到的错误是: org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver为参数注册

任何帮助都很感激!

EN

Stack Overflow用户

发布于 2022-01-21 10:16:50

参数化测试的正确实现示例:

代码语言:javascript
复制
//example with 2 parameters
@ParameterizedTest
@MethodSource("input")
void myTest(String input, String expectedResult) {
   //test code
}

// Make sure to use the correct return type Stream<Arguments>
static Stream<Arguments> input() {
    return Stream.of(
            Arguments.of("hello", "hello"),
            Arguments.of("bye", "bye")
            //etc
    );
}

另外,请确保您使用的是一个兼容版本的junit:

代码语言:javascript
复制
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>${some.version}</version>
    <scope>test</scope>
</dependency>

此外,如果仍然有junit-vintage-engine测试,则需要junit4依赖项。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70799565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档