반응형
Notice
Recent Posts
Recent Comments
Link
NOW OR NEVER
[Android] JUnit4 본문
반응형
JUnit
- 자바에서의 단위테스트를 위한 프레임워크
- https://developer.android.com/training/testing/unit-testing/local-unit-tests?hl=ko
순서
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표시로 뜸

'Android' 카테고리의 다른 글
[Android] TimePicker Interval 설정 (0) | 2023.09.12 |
---|---|
[Android] 프로젝트 변경 이력 보는 법(뒤로가기가 더이상 안될 때) (0) | 2023.09.02 |
[Android] 안드로이드 스튜디오 레이아웃 디자인 XML tools:context 에러 (0) | 2023.08.08 |
[Android] Main Activity 인식 불가 문제 해결 (0) | 2023.08.07 |
[Android] MVVM 구조 (0) | 2023.08.02 |