Junit
Junit은 unit test를 위한 api로 프로그램 전체를 기동하지 않아도 그 안의 특정 method를 테스트 할 수 있게 해준다.
assert methods
@Test
public void test() {
boolean condn = false;
// 1번째 param : 원하는 값, 2번째 param : 넣는 값, 두 값이 같다면 ok! 아니면 faliure를 반환한다.
assertEquals(true, condn);
//assertTrue는 위의 기능과 같다. assertFalse도 있다.
assertTrue(condn);
// assertFalse(condn);
//assertNull, assertNotNull, assertArrayEquals는 특정 array와 원하는 array를 넣어서 안의 값들을 모두 비교한다.
System.out.println("done!");
}
Annotations
MyMath myMath = new MyMath();
//Junit은 @Test 메소드들의 실행순서를 보장해주진 않는다!
//@Before는 각각의 @Test전에 실행된다.
@Before
public void before() {
System.out.println("Before");
}
//@After 각각의 @Test후에 실행된다.
@After
public void after() {
System.out.println("After");
}
//@BeforeClass @AfterClass 는 현재의 class가 시작, 끝나고 실행되기 때문에 반드시 static으로 선언해줘야한다.
@BeforeClass
public static void beforeClass() {
System.out.println("Before Class");
}
@AfterClass
public static void afterClass() {
System.out.println("After Class");
}
// MyMath.sum
// 1,2,3 => 6
@Test
public void sum_with3numbers() {
System.out.println("Test1");
assertEquals(6, myMath.sum(new int[] { 1, 2, 3 }));
}
@Test
public void sum_with1number() {
System.out.println("Test2");
assertEquals(3, myMath.sum(new int[] { 3 }));
}