【问题标题】:ParameterizedTest in Junit5Junit5中的参数化测试
【发布时间】:2019-01-23 23:21:25
【问题描述】:

我一直在查看 junit 5 中参数化测试的示例(我是新手),但没有找到我想要的东西(除非我误解了如何使用它们)。

基本上,我想编写一个(基于 selenium/UI 的)测试并让它运行多次。我希望多次运行的参数是我的代码库中的自定义对象。

我尝试实施的一个示例是 - 我的测试在日历上与客户创建约会,然后对约会是否正确显示并具有预期的详细信息进行一些断言。第二次试运行会做同样的事情,但没有客户。两次测试运行之间的断言可能略有不同,但两次运行的代码基本相同。

我似乎遇到的所有示例都使用原始类型,如字符串、csv 文件或 methodSource,但这些似乎都不适合我正在尝试做的事情。

任何帮助将不胜感激。

【问题讨论】:

  • 您的问题是否与将自定义(不仅仅是原始)类型包含到 '@Parametrized 注释的可能性有关?
  • 如果你发布你的原始代码会很好(如果你可以这样做的话)
  • @gokareless - 我的问题是关于可能性以及如何实际去做。准确地说,它不是 '@Parameterized' 注释,而是 junit5 中特别使用的 '@ParameterizedTest' 注释。当我周一回来工作时,我也许可以发布一些代码,但我不确定它在这种情况下是否超级有用?
  • 使用@MethodSource,您可以返回包含您想要的任何类型对象的Arguments 实例。这能回答你的问题吗?
  • 不是真的@SamBrannen 你能举个例子吗?

标签: selenium junit5 parameterized


【解决方案1】:

使用@MethodSource,您可以返回包含您想要的任何类型对象的Arguments 实例。对原语等没有限制。

有关具体示例,请查看 JUnit 5 用户指南的 @MethodSource 部分中的 testWithMultiArgMethodSource() 示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 2017-05-23
    • 2019-04-08
    • 2021-11-10
    • 1970-01-01
    • 2022-06-29
    • 2020-04-30
    • 1970-01-01
    相关资源
    最近更新 更多