![]() |
1
262
这项功能使它成为 JUnit 4.11 . 要使用更改参数化测试的名称,可以说:
测试的最终名称将是测试方法的名称,后跟
例如(改编自
会说出这样的名字
|
![]() |
2
37
从JUnit4.5来看,它的运行程序显然不支持这一点,因为该逻辑隐藏在参数化类中的私有类中。您不能使用JUnit参数化的运行程序,而是创建自己的运行程序来理解名称的概念(这就引出了如何设置名称的问题…)。 从JUnit的角度来看,如果不只是传递一个增量,而是传递逗号分隔的参数,那就更好了。testng这样做。如果该功能对您很重要,您可以在www.junit.org上引用的雅虎邮件列表上发表评论。 |
![]() |
3
20
我最近在使用JUnit4.3.1时遇到了同样的问题。我实现了一个新的类,它扩展了参数化的labelledParametered。已使用JUnit 4.3.1、4.4和4.5对其进行了测试。它使用@parameters方法中每个参数数组的第一个参数的字符串表示形式重新构造描述实例。您可以在以下位置看到此代码: http://code.google.com/p/migen/source/browse/trunk/java/src/.../LabelledParameterized.java?r=3789 其使用示例如下: http://code.google.com/p/migen/source/browse/trunk/java/src/.../ServerBuilderTest.java?r=3789 测试描述在Eclipse中很好地格式化,这正是我想要的,因为这使得失败的测试更容易找到!我可能会在接下来的几天/几周内进一步完善和记录这些课程。放弃“?”如果需要出血边缘,则是URL的一部分。-) 要使用它,只需复制该类(gpl v3),并将@runwith(parameterized.class)更改为@runwith(labelledParameterized.class),假设参数列表的第一个元素是一个合理的标签。 我不知道JUnit的任何后续版本是否解决了这个问题,但是即使他们解决了,我也不能更新JUnit,因为我的所有合作开发人员都必须更新,而且我们的优先级比重新调整工具更高。因此,类中的工作可以由JUnit的多个版本编译。 注: 这里有一些反射式的诡计,以便它运行在上面列出的不同JUnit版本中。可以找到JUnit 4.3.1的特定版本 here 对于Junit 4.4和4.5, here . |
![]() |
4
13
用
它也不使用数组,因为我讨厌数组。:)
还有一个例子:
|
![]() |
5
6
从JUnit4.8.2中,您可以通过简单地复制参数化类来创建自己的MyParameterized类。更改testclassrunnerforparameters中的getname()和testname()方法。 |
![]() |
6
6
您也可以尝试JUnitParams: http://code.google.com/p/junitparams/ |
![]() |
7
2
您可以创建类似
虽然我不会一直使用它,但弄清楚143号测试到底是什么会很有用。 |
![]() |
8
2
我对断言和朋友广泛使用静态导入,因此很容易重新定义断言:
例如,可以向测试类添加一个“name”字段,在构造函数中初始化,并在测试失败时显示该字段。只需将它作为每个测试的参数数组的第一个元素传入。这也有助于标记数据:
|
![]() |
9
2
这些都不适合我,所以我得到了参数化的源代码,并修改了它,创建了一个新的测试运行程序。我不需要改变太多,但它起作用了!!!!
|
![]() |
10
2
解决方法是用包含所有参数信息的自定义消息捕获并将所有可丢弃项嵌套到新的可丢弃项中。消息将出现在堆栈跟踪中。 每当测试失败时,对于所有断言、错误和异常都有效,因为它们都是可丢弃的子类。 我的代码如下:
失败测试的堆栈跟踪为:
|
![]() |
11
0
如dsaff所述,检查junitparams,使用ant在HTML报告中构建参数化测试方法描述。 这是在尝试LabelledParametered并发现它虽然可以与Eclipse一起工作,但就HTML报告而言,它不能与Ant一起工作。 干杯, |
![]() |
12
0
因为参数被访问(例如
|