什么是 Junit 測試框架?
JUnit 是一個回歸測試框架,被開發(fā)者用于實施對應(yīng)用程序的單元測試,加快程序編制速度,同時提高編碼的質(zhì)量。JUnit 測試框架能夠輕松完成以下任意兩種結(jié)合:
JUnit 測試框架具有以下重要特性:
測試工具是一整套固定的工具用于基線測試。測試工具的目的是為了確保測試能夠在共享且固定的環(huán)境中運(yùn)行,因此保證測試結(jié)果的可重復(fù)性。它包括:
讓我們來看一個例子:
import junit.framework.*;
public class JavaTest extends TestCase {
protected int value1, value2;
// assigning the values
protected void setUp(){
value1=3;
value2=3;
}
// test method to add two values
public void testAdd(){
double result= value1 + value2;
assertTrue(result == 6);
}
}
測試套件意味捆綁幾個測試案例并且同時運(yùn)行。在 JUnit 中,@RunWith 和 @Suite 都被用作運(yùn)行測試套件。以下為使用 TestJunit1 和 TestJunit2 的測試分類:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
//JUnit Suite Test
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestJunit1.class ,TestJunit2.class
})
public class JunitTestSuite {
}
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;
public class TestJunit1 {
String message = "Robert";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testPrintMessage() {
System.out.println("Inside testPrintMessage()");
assertEquals(message, messageUtil.printMessage());
}
}
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;
public class TestJunit2 {
String message = "Robert";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testSalutationMessage() {
System.out.println("Inside testSalutationMessage()");
message = "Hi!" + "Robert";
assertEquals(message,messageUtil.salutationMessage());
}
}
測試運(yùn)行器 用于執(zhí)行測試案例。以下為假定測試分類成立的情況下的例子:
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());
}
}
測試分類是在編寫和測試 JUnit 的重要分類。幾種重要的分類如下:
更多建議: