【发布时间】:2010-10-03 04:05:53
【问题描述】:
在 JUnit 3 中,我可以像这样获取当前正在运行的测试的名称:
public class MyTest extends TestCase
{
public void testSomething()
{
System.out.println("Current test is " + getName());
...
}
}
将打印“当前测试是 testSomething”。
在 JUnit 4 中是否有任何开箱即用或简单的方法可以做到这一点?
背景:显然,我不想只打印测试的名称。我想加载存储在与测试同名的资源中的测试特定数据。你知道,convention over configuration 等等。
【问题讨论】:
-
以上代码在 JUnit 4 中为您提供了什么?
-
JUnit 3 测试扩展了定义 getName() 的 TestCase。 JUnit 4 测试不扩展基类,因此根本没有 getName() 方法。
-
我有一个类似的问题,我想设置测试名称,因为我使用的参数化运行器只给我编号的测试用例。
-
使用 Test 或 TestWatcher 的可爱解决方案......只是想知道(大声)是否应该需要这个?您可以通过查看 Gradle 给出的时序输出图表来确定测试是否运行缓慢。您永远不需要知道测试运行的顺序...?
标签: java unit-testing junit