我使用 JUnit4 和 JUnitParams 进行测试,我想了解更多关于@TestCaseName
注释的用法。我了解@TestCaseName
with@Parameters
注解的用法,但我想知道如何使用@TestCaseName
注解@FileParmeters
。
问问题
111 次
1 回答
0
@TestCaseName
允许您修改测试用例名称在报告中的显示方式(例如,在您的 IDE 或 Maven Surefire 报告中)。默认命名为{method}({params}) [{index}]
. 您可以使用占位符来创建自己的测试用例名称。请参阅 Javadoc junitparams.naming.TestCaseName#value
:
单个测试用例名称的模板。此模板可以包含宏,这些宏将在运行时被它们的实际值替换。
支持的宏是:
让我们假设,我们正在测试斐波那契数列生成器。我们有一个带有以下签名的测试
- {index} - 参数集的索引(从零开始)。提示:使用它来避免名称重复。
- {params} - 以逗号连接的参数集。
- {method} - 测试方法名称。
- {0}、{1}、{2} - 当前参数集中按索引的单个参数。如果没有具有此类索引的参数,它将使用空字符串。
@Parameters({ "0,1", "8,34" }) public void testFibonacci(int indexInSequence, int expectedNumber) { ... }
以下是一些示例,可用作测试名称模板:
{method}({params})
=> testFibonacci(0, 1), testFibonacci(8, 34)fibonacci({0}) = {1}
=> 斐波那契(0) = 1, 斐波那契(8) = 34{0} element should be {1}
=> 0 元素应该是 1,8 元素应该是 34Fibonacci sequence test #{index}
=> 斐波那契数列测试#0,斐波那契数列测试#1
@FileParameters
没有任何关系@TestCaseName
- 它只是一种从文件向测试方法提供参数的方法。使用上面的示例,@Parameters
您可以使用@FileParameters("/path/to/file.txt")
并拥有一个/path/to/file.txt
with 内容
0,1
8,34
以达到相同的结果。
于 2020-06-03T08:35:23.230 回答