微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 TestNG @Factory/constructor 迁移到 JUnit 5?

如何解决如何将 TestNG @Factory/constructor 迁移到 JUnit 5?

我正在将一些单元测试更新到 JUnit Jupiter (JUnit 5),即使我已经阅读了文档,我也尝试处理这个(简单的)测试: 假设它是一个向构造函数添加 Factory 的单元测试 (TestNG):

@DataProvider
public static Object[][] secure() {
    // @Checkstyle:off
    return new Object[][] {
            { true },{ false }
    };
    // @Checkstyle:on
}

@Factory(dataProvider = "secure")
public GrizzlyWebSocketProxyFilterTest(boolean secure) {
    this.secure = secure;
}

并且此构造函数用于 @BeforeEach 方法,该方法使用上述安全参数构建一个非常复杂的对象。 此对象由下面的一组单元测试使用。所以我的测试启动了两次:第一次将对象配置为安全,第二次将对象配置为非安全。

我看到在 JUnit Jupiter (JUnit 5) 中,无法将 MethodSource/ValueSource 添加@BeforeEach。 我的问题是:是否有一种简单的方法可以使用 JUnit Jupiter (JUnit 5) 重现相同的行为?也许用 ParameterResolver

感谢任何帮助,谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。