代码之家  ›  专栏  ›  技术社区  ›  Niraj Sonawane

如何使用JUnit 5中其他类中定义的@methodsource

  •  2
  • Niraj Sonawane  · 技术社区  · 5 年前

    有什么方法可以用吗 @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 ?

    1 回复  |  直到 5 年前
        1
  •  3
  •   Sam Brannen    5 年前

    从外部类引用方法的语法

    @MethodSource("fullyQualifiedClassName#methodName")
    

    例如

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