如何在JUnit5中使用在其他类中定义的@MethodSource [英] How to use @MethodSource defined in other class in JUnit 5

查看:14
本文介绍了如何在JUnit5中使用在其他类中定义的@MethodSource的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法使用@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中使用外部类中的方法?

推荐答案

从外部类引用方法的语法

@MethodSource("fullyQualifiedClassName#methodName")

例如

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

这篇关于如何在JUnit5中使用在其他类中定义的@MethodSource的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆