0

我有一个示例JUnit测试用例,它工作得非常好,但是我不确定它是如何开始执行的,因为它不包含 main 或任何 runner 类函数。谁能分享没有主要功能JUnit的测试用例如何执行?

代码是:

import static org.junit.Assert.assertEquals;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

public class testJUnit {

@BeforeClass
public static void setUpBeforeClass() throws Exception {
    System.out.println("Before Class");
}

@AfterClass
public static void tearDownAfterClass() throws Exception {
    System.out.println("Tear Down After Class");
}

@Before
public void setUp() throws Exception {
    System.out.println("Setup");
}

@After
public void tearDown() throws Exception {
    System.out.println("Tear Down");
}

@Test
public void test() {
    int a = 1;
    assertEquals("Testing...", 1, a);
}

@Ignore
@Test
public void test1() {
    int a = 156;
    assertEquals("Testing...", 156, a);
}

}
4

4 回答 4

2

当您运行JUnit 测试时,实际上是在执行org.junit.runner.JUnitCore并提供完全限定的类名作为参数。

您可能正在使用 IDE,例如 Eclipse 或 Netbeans,它们会为您处理所有这些逻辑。请参阅@Matthew Farwell对此主题的回答。

资料来源:jUnit 常见问题解答(2006 年)

于 2013-10-23T09:23:46.667 回答
2

从 Eclipse 运行 JUnit 测试时,Eclipse 运行另一个 JVM,它有自己的主类(如果您有兴趣,可以使用RemoteTestRunner )。这实际上与 JUnitCore 完成了相同的工作,但针对 Eclipse 进行了特定的更改 - 它需要将结果传递回 Eclipse。

有关更多信息,请参阅我对 Eclipse 如何实际运行 Junit 测试的回答

于 2013-10-23T10:16:36.097 回答
0

该类不需要 main 方法。jUnit 包含一个执行的主要方法,并且在某些时候 jUnit 创建了一个测试类的实例。

于 2013-10-23T09:23:54.260 回答
0

它由框架本身处理。执行顺序为@Before、@Test & @After ..

于 2013-10-23T09:34:00.470 回答