相关疑难解决方法(0)

JUnit混淆:使用'extends TestCase'还是'@Test'?

我发现JUnit的正确使用(或至少是文档)非常令人困惑.这个问题既可作为未来参考,也可作为真正的问题.

如果我理解正确,有两种主要的方法来创建和运行JUnit测试:

方法A(JUnit 3-style):创建一个扩展TestCase的类,并用该单词启动测试方法test.当作为JUnit Test(在Eclipse中)运行该类时,test将自动运行以该单词开头的所有方法.

import junit.framework.TestCase;

public class DummyTestA extends TestCase {

    public void testSum() {
        int a = 5;
        int b = 10;
        int result = a + b;
        assertEquals(15, result);
    }
}
Run Code Online (Sandbox Code Playgroud)

方法B(JUnit 4-style):创建一个"普通"类并@Test在方法前加一个注释.请注意,您不必使用单词启动方法test.

import org.junit.*;
import static org.junit.Assert.*;

public class DummyTestB {

    @Test
    public void Sum() {
        int a = 5;
        int b = 10;
        int result = a + b;
        assertEquals(15, result);
    }
}
Run Code Online (Sandbox Code Playgroud)

混合两者似乎不是一个好主意,请参阅例如 …

java junit automated-tests

149
推荐指数
4
解决办法
7万
查看次数

如何在运行时在JUnit 4中获取测试用例名称?

我想在执行JUnit测试时做一些日志记录.在JUnit 3.x中,无论实例化测试用例如何,总是很容易获得当前运行的测试用例的名称:

public void testFoo() throws Exception() {
  String testName = this.getName();
  // [...] do some stuff
}
Run Code Online (Sandbox Code Playgroud)

在JUnit 4中,事情似乎并不那么容易.有谁知道解决这个问题?是否有任何选项可以反映到当前的Runner实例中?

java reflection junit

9
推荐指数
2
解决办法
9650
查看次数

标签 统计

java ×2

junit ×2

automated-tests ×1

reflection ×1