2013-10-23 121 views
0

我有但我不知道它是怎么开始执行,因为它不包含主或任何亚军类功能这工作绝对没问题的样本JUnit测试用例“主”的功能。任何人都可以分享如何执行JUnit测试用例没有主要功能哪里调用的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); 
} 

} 

回答

2

当运行在Eclipse JUnit测试时,Eclipse运行它有它自己的主类其他JVM(RemoteTestRunner如果你有兴趣)。这与JUnitCore有效地执行相同的工作,但是对于特定于Eclipse的更改 - 它需要将结果传递回Eclipse。

欲了解更多信息,请参阅我的回答How does Eclipse actually run Junit tests?

+0

谢谢@Matthew :) – Amrit

2

当你运行一个JUnit测试,你实际上执行org.junit.runner.JUnitCore并提供您完整的类名作为参数。

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

来源:jUnit FAQ (2006)

+0

其实,从Eclipse中运行时,它不会调用JUnitCore。你引用的FAQ是从2006年起。 –

+0

编辑我的回答 –

0

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

0

它由框架本身处理。执行发生在@Before,@测试& @After的顺序..