多个测试用例组成的集合,用于检查软件是否正常工作。
软件变更后,确认原有功能仍然正常工作的过程。

Java语言的单元测试框架。
| 方法 | 说明 |
|---|---|
| assertEquals(expected, actual) | 检查两个值是否相等 |
| assertTrue(condition) | 检查条件是否为真 |
| assertFalse(condition) | 检查条件是否为假 |
| assertNull(object) | 检查对象是否为null |
| assertNotNull(object) | 检查对象是否不为null |
| assertSame(expected, actual) | 检查是否为同一个对象 |
| assertNotSame(expected, actual) | 检查是否为不同对象 |
x.equals(y)方法比较对象。String和其他一些Java类能够正常工作。equals方法。
public boolean equals(Object obj) { ... }public boolean equals(Object something) {
Person p = (Person)something;
return this.name == p.name; // 원하는 대로 비교할 수 있다.
}/** IMath 클래스를 테스트하는 클래스이다. */
public class IMathTestNoJUnit {
/** 테스트를 실행한다. */
public static void main(String[] args) {
printTestResult(0);
printTestResult(1);
printTestResult(2);
printTestResult(3);
printTestResult(4);
printTestResult(7);
printTestResult(9);
printTestResult(100);
}
private static void printTestResult(int arg) {
System.out.print("isqrt(" + arg + ") ==> ");
System.out.println(IMath.isqrt(arg));
}
}
// 실행 결과
// isqrt(0) ==> 0
// isqrt(1) ==> 1
// isqrt(2) ==> 2
// isqrt(3) ==> 2
// isqrt(4) ==> 2
// isqrt(7) ==> 3
// isqrt(9) ==> 3
// isqrt(100) ==> 10import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class IMathTest extends TestCase{
@Test
public void testIsqrt() {
assertEquals(0, IMath.isqrt(0));
assertEquals(1, IMath.isqrt(1));
assertEquals(2, IMath.isqrt(2));
assertEquals(2, IMath.isqrt(3));
assertEquals(2, IMath.isqrt(4));
assertEquals(3, IMath.isqrt(7));
assertEquals(3, IMath.isqrt(9));
assertEquals(10, IMath.isqrt(100));
}
}
// 실행 결과
// 테스트 케이스가 성공하면 아무것도 출력되지 않음
// 테스트 케이스가 실패하면 다음과 같이 출력됨
// java.lang.AssertionError: expected:<0> but was:<1>public class ForYou {
public static int min(int x, int y){
if(x < y) return x;
else return y;
}
}import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class ForYouTest extends TestCase{
@Test
public void testMin() {
assertEquals(1, ForYou.min(1, 2));
assertEquals(1, ForYou.min(2, 1));
assertEquals(0, ForYou.min(0, 0));
assertEquals(-1, ForYou.min(-1, 0));
assertEquals(-1, ForYou.min(0, -1));
}
}在测试用例执行之前或之后运行的代码。
protected void setUp() { ... }
protected void tearDown() { ... }protected void runTest() {
setUp();
// <run the test>;
tearDown();
}AssertionFailedError。