2013-07-10 27 views
0

在下面的代碼中,如何調用testPrintMessage()方法?我沒有看到明確調用它的任何代碼。Java/JUnit - testPrintMessage()如何被調用?

TestRunner.java

import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 

public class TestRunner { 
    public static void main(String[] args) { 
     Result result = JUnitCore.runClasses(TestJunit.class); 
     for (Failure failure : result.getFailures()) { 
     System.out.println(failure.toString()); 
     } 
     System.out.println(result.wasSuccessful()); 
    } 
} 

TestJunit.java

import org.junit.Test; 
import static org.junit.Assert.assertEquals; 
public class TestJunit { 

    String message = "Hello World"; 
    MessageUtil messageUtil = new MessageUtil(message); 

    @Test 
    public void testPrintMessage() { 
     assertEquals(message,messageUtil.printMessage()); 
    } 
} 

MessageUtil.java

public class MessageUtil { 

    private String message; 

    //Constructor 
    //@param message to be printed 
    public MessageUtil(String message){ 
     this.message = message; 
    } 

    // prints the message 
    public String printMessage(){ 
     System.out.println(message); 
     return message; 
    } 
} 

我在Eclipse中測試了這個代碼,它的工作原理:

Hello World 
true 
+1

可能有用的補充,這是從:http://www.tutorialspoint.com/junit/junit_basic_usage.htm – Andrejs

回答

2

當​​被調用時,JUnit查找所有用@Test註釋的公共方法並反射性地調用它們。