NOW OR NEVER

[Android] JUnit4 본문

Android

[Android] JUnit4

LAURA 2023. 9. 2. 01:32
반응형

JUnit

순서

1. app 수준 gradle에 해당 구문 depencies 블럭 안에 추가

testImplementation 'junit:junit:4.13.2'

 

 

2. 보는 기준을 Tests로 설정한 다음 src/test/java에 테스트 클래스 추가

 

3. 테스트 클래스에 테스트 할 메서드 작성

  • 어노테이션
    • @Test: 테스트 메서드를 정의할 때 사용하는 어노테이션
    • @Before: 테스트 메서드 실행 전에 실행할 코드를 포함하는 메서드에 지정되는 애너테이션입니다. 초기화 작업에 사용
    • @After: 테스트 메서드 실행 후에 실행할 코드를 포함하는 메서드에 지정되는 애너테이션입니다. 정리 작업에 사용
    • @BeforeClass: 테스트 클래스의 모든 테스트 메서드보다 먼저 실행할 코드를 포함하는 메서드에 지정되는 어노테이션
    • @AfterClass: 테스트 클래스의 모든 테스트 메서드가 실행된 후에 실행할 코드를 포함하는 메서드에 지정되는 어노테이션

 

  •  함수
    • assetsEqual(예상값, 비교하고 싶은 값) : 주어진 두 값이 동일한지 비교하고, 만약 다르다면 테스트를 실패시킨다. 주로 JUnit과 같은 테스트 프레임워크에서 사용되며 테스트 케이스가 예상한 결과와 실제 결과가 일치하는지 확인하는 데 사용한다
    • assertEquals: 예상 결과와 실제 결과를 비교하여 테스트를 수행하는 함수입니다. 두 값이 같지 않으면 테스트 실패로 표시
    • assertTrue / assertFalse: 주어진 조건이 참 또는 거짓인지를 확인하는 함수로, 주로 부울 조건을 테스트하는 데 사용
    • assertNotNull / assertNull: 주어진 객체가 null이 아닌지 또는 null인지 확인하는 함수
    • assertArrayEquals: 배열 또는 컬렉션의 예상 값과 실제 값이 동일한지 비교하는 함
import org.junit.Assert.assertEquals
import org.junit.Test

class CaculateTest {

    @Test
    fun testAdd(){
        val caculate = Caculate()
        var result = 0
        result = caculate.add(5,8)
        assertEquals(2,result)
    }
}

 

4. 해당 테스트 클래스에서 마우스 오른쪽 버튼 클릭 후 Run 테스트클래스명 클릭

 

- assertsEqual 로 비교한 값이 run에 나오고 click to see difference 클릭 시 기대값과 뭐가 다른 지 알려준다.

테스트 실패 시

 

테스트 성공 시

 

5. 테스트가 성공적으로 완료된 것들은 v표시가 되고 안된 것들은 x표시로 뜸

 

Comments