在哪里为JUnit测试用例调用'main'函数

时间:2013-10-23 09:18:59

标签: java eclipse unit-testing junit

我有一个示例JUnit测试用例,但是我不确定它是如何开始执行的,因为它不包含main或任何运行类功能。任何人都可以分享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 个答案:

答案 0 :(得分:2)

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

您可能正在使用IDE,如Eclipse或Netbeans,它们可以为您处理所有逻辑。有关此主题,请参阅@Matthew Farwell answer

来源:jUnit FAQ (2006)

答案 1 :(得分:2)

当从Eclipse运行JUnit测试时,Eclipse运行另一个JVM,它有自己的主类(RemoteTestRunner如果你感兴趣的话)。这与JUnitCore完全相同,但是对于Eclipse的特定更改 - 它需要将结果传递回Eclipse。

有关详细信息,请参阅我对How does Eclipse actually run Junit tests?

的回答

答案 2 :(得分:0)

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

答案 3 :(得分:0)

它由框架本身处理。执行按@Before,@ Test&的顺序执行@After ..