在 JUnitParams 中使用带有@FileParameters@TestCaseName



我将JUnit4与JUnitParams一起使用进行测试,我想了解更多关于@TestCaseName注释的使用。我了解@TestCaseName@Parameters注释的用法,但我想了解如何将@TestCaseName@FileParmeters注释一起使用。

>@TestCaseName允许您修改测试用例名称在报告中的显示方式(例如,在IDE或Maven Surefire报告中(。默认命名为{method}({params}) [{index}]。可以使用占位符创建自己的测试用例名称。参见 Javadoc ofjunitparams.naming.TestCaseName#value

单个测试用例名称的模板。此模板可以包含 宏,将在运行时替换为其实际值。

支持的宏包括:

  • {index}- 索引 参数集(从零开始(。提示:使用它来避免名称 重复。
  • {params}- 参数集连接 逗点。
  • {方法}- 测试方法名称。
  • {0}{1}{2}- 当前参数集中按索引单个参数。 如果没有带有此类索引的参数,它将使用空字符串。
让我们假设,我们正在测试斐波那契 序列生成器。我们有一个具有以下签名的测试
@Parameters({ "0,1", "8,34" })
public void testFibonacci(int indexInSequence, int expectedNumber) { ... }

下面是一些可以用作测试名称模板的示例:

  • {method}({params})=> test斐波那契(0, 1(, testFibonacci(8, 34(
  • fibonacci({0}) = {1}=> 斐波那契(0( = 1, 斐波那契(8( = 34
  • {0} element should be {1}=> 0 元素应为 1,8 元素应为 34
  • Fibonacci sequence test #{index}=> 斐波那契数列检验 #0, 斐波那契数列检验 #1

@FileParameters@TestCaseName没有任何关系 - 它只是一种从文件向测试方法提供参数的方法。使用上面的示例,您可以使用@FileParameters("/path/to/file.txt")而不是@Parameters/path/to/file.txt

内容
0,1
8,34

以达到相同的结果。

相关内容

  • 没有找到相关文章

最新更新