我目前正在使用Junit4进行测试,因为我有一个任务来了解@TesCaseName注释的用法,我已经引用了一些链接,并了解了使用@Parameters注释的@TestCaseName注释的用法,但我想知道有关@TestCase注释与@FileParmeters注释结合使用的信息,如果有人知道,请与我分享@TesCaseName注释与Junit4中的@FileParameters注释结合的示例。
@TestCaseName
允许您修改如何在报告中显示测试用例的名称(例如,在您的IDE或Maven Surefire报告中)。默认命名为{method}({params}) [{index}]
。您可以使用占位符来创建自己的测试用例名称。参见junitparams.naming.TestCaseName#value
的Javadoc:各个测试用例名称的模板。该模板可以包含宏,这些宏将在运行时被其实际值替换。支持的宏为:
假设我们正在测试斐波那契序列发生器。我们通过以下签名进行测试
- {{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}
=> fibonacci(0)= 1,fibonacci(8)= 34- [
{0} element should be {1}
=> 0元素应为1,8元素应为34- [
Fibonacci sequence test #{index}
=>斐波那契序列测试#0,斐波那契序列测试#1
@FileParameters
与@TestCaseName
没有任何关系-这只是从文件向测试方法提供参数的一种方式。使用上面的示例,您可以使用@Parameters
代替@FileParameters("/path/to/file.txt")
,并使用内容[>包含/path/to/file.txt
]0,1
8,34
以达到相同的结果。