使用JUNIT進行單元測試
阿新 • • 發佈:2018-12-01
eclipse如何使用junit部署測試
在要測試的類java檔案上右鍵,選擇New -> Junit Test Case/Suite
https://mvnrepository.com/artifact/org.junit/junit5-engine/5.0.0-ALPHA
在專案上右鍵 Run As Junit Test 或者 Maven Test即可執行全部的測試用例
junit5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
- JUnit Platform是在JVM上啟動測試框架的基礎。
- JUnit Jupiter是JUnit5擴充套件的新的程式設計模型和擴充套件模型,用來編寫測試用例。
- Jupiter子專案為在平臺上執行Jupiter的測試提供了一個TestEngine (測試引擎)。
- JUnit Vintage提供了一個在平臺上執行JUnit 3和JUnit 4的TestEngine。
junit5 官方中文文件:https://www.ibm.com/developerworks/cn/java/j-introducing-junit5-part1-jupiter-api/index.html
以下適用於junit4.12
執行關係:
@BeforeClass - runOnceBeforeClass @Before - runBeforeTestMethod @Test - test_method_1 @After - runAfterTestMethod @Before - runBeforeTestMethod @Test - test_method_2 @After - runAfterTestMethod @AfterClass - runOnceAfterClass
https://blog.csdn.net/zixiao217/article/details/52951679
捆綁測試類,一次執行多個測試類SuiteClass
https://www.cnblogs.com/weilu2/p/junit_aggregating_tests_in_suites.html
核心程式碼如下
import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) //要點1 @SuiteClasses({TestJunit.class, TestJunit2.class}) //要點2 public class YourTestSuite {} //右鍵執行該類(Junit Test),對包裹的類依次進行測試
測試套件:TestCase, TestSuite
https://www.cnblogs.com/mengdd/archive/2013/04/07/3006265.html
能夠一次執行多個類,進行方法的重複測試
package com.weiwei.test;
//要點1. 注意引入的包是junit.framework.*
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
//要點2. 繼承TestCase
public class TestTestCaseWithTestSuite extends TestCase{
///setUp與tearDown在所有方法之前與之後執行
@Override
public void setUp() {
//before all
}
@Override
public void tearDown() {
//after all
}
public static Test suite() {
//建立一個測試套件
TestSuite suite = new TestSuite();
//增加測試類的class物件
suite.addTestSuite(TestJunit.class);
suite.addTestSuite(TestJunit2.class);
/**要點3. void junit.framework.TestSuite
.addTestSuite(Class<? extends TestCase> testClass)
TestJuint.class與TestJunit2.class都是TestCase的子類
*/
return suite;
}
}