【问题标题】:How to use @MethodSource defined in other class in JUnit 5如何使用 JUnit 5 中其他类中定义的@MethodSource
【发布时间】:2018-12-30 06:02:31
【问题描述】:

有什么方法可以使用@MethodSource 来使用其他类中定义的方法?

例如:下面的代码有效,因为stringProvider 方法是在同一个类中定义的。

@ParameterizedTest
@MethodSource("stringProvider")
void methodSourceFromOtherClass(String word) {
    System.out.println(word);
    assertNotNull(word);
}

public static Stream<Arguments> stringProvider() {
    return Stream.of(
            Arguments.of("Values"),
            Arguments.of("From"),
            Arguments.of("MethodSource"));      
}

我有一些提供测试数据的实用程序类。如何在@methodSource 中使用外部类的方法?

【问题讨论】:

    标签: junit5


    【解决方案1】:

    从外部类引用方法的语法

    @MethodSource("fullyQualifiedClassName#methodName")
    

    例如

    @ParameterizedTest
    @MethodSource("com.niraj.DataProvider#stringProvider")
    void methodSourceFromOtherClass(String word) {
        System.out.println(word);
        assertNotNull(word);
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 2013-08-08
    • 2018-06-04
    • 1970-01-01
    • 2019-12-23
    • 2019-12-28
    • 1970-01-01
    • 2011-01-05
    相关资源
    最近更新 更多