我在使用JUnit 4時遇到了一個問題。有一件事讓我非常困惑。 爲什麼下面沒有主要功能,但是它可以被執行並且返回測試結果?它甚至沒有擴展一個類。這樣的代碼如下:代碼如下:java junit沒有主要功能
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({ ATest.class,BTest.class })
public class AllTests {
}
好的,你是說runner類中的主要方法實際上是由eclipse IDE或builder工具實現的嗎?我想這涉及到一些低級細節。我在哪裏可以看到細節(跑步課程?)?此外,每次測試都會提供「測試」註釋,無論何時我選擇構建,IDE或構建工具都會調用runner類的主要方法,並根據註釋執行測試(單個測試或整個測試套件) , 對?感謝您的詳細解釋! –
否:IDE不執行任何操作。這裏是你正在尋找的主要:https://github.com/KentBeck/junit/blob/master/src/main/java/org/junit/runner/JUnitCore.java 主要方法實際上是一個在Java中的約定用於啓動命令行的程序;一旦IDE通過其main()啓動,它可以直接使用junit功能作爲正常的Java庫訪問其API。另一個例子:運行一個Java小程序,你不需要主要:http://docs.oracle.com/javase/tutorial/deployment/applet/subclass.html'appletviewer'實用程序提供了他自己的主要負載和運行applet init()。 –
呃...我試圖用命令行來運行上面的代碼,它顯示了異常,'線程中的異常'main「java.lang.NoSuchMethodError:main' 因此,Junit與IDE密切相關?如果我想實現一個功能(例如每隔一小時運行一次單元測試,遇到故障,開發人員將收到通知電子郵件),這是否意味着我無法使用上面的代碼? –