Android

Content Description이란? Content Description이란 안드로이드의 UI 컴포넌트에 설정되는 UI 컴포넌트를 설명하기 위한 값으로, 사용자와 개발자가 비시각적으로 앱과 소통하기 위해 사용된다. 많은 개발자들이 Content Description을 빈 값으로 설정하거나 null 값으로 설정하는 방식을 취하지만, Content Description을 빈 값으로 설정한다면, 시각적인 소통 외에 앱과 소통할 수 있는 방법이 없어진다. 일반적으로 안드로이드 휴대폰을 사용하는 시각 장애인들은 TalkBack 기능을 사용해 스크린을 읽는데, 이 TalkBack에서 사용하는 것이 바로 이 Content Description 값이다. Content Description은 단순히 시각 장애인을 위..
이전 글 요약 이전 글에서는 mockk 함수를 사용해 Mock 객체를 만드는 방법에 대해 알아보았고, val userRepository : UserRepository = mockk() val contactRepository : ContactRepository = mockk() val userProfileFetcher = UserProfileFetcher( userRepository = userRepository, contactRepository = contactRepository ) every를 사용해 목 객체의 함수가 호출될 때 반환 값을 반환하는 방법에 대해 알아보았다. every { contactRepository.getPhoneNumberByUserId(any()) }.returns("010-xx..
안드로이드 메서드를 사용할 때 생기는 문제점과 원인 안드로이드 전용 클래스의 정적 메서드를 클래스 내부에서 사용한다면 테스트 시 문제가 생긴다. 예를 들어 다음과 같은 테스트 코드를 보자. import android.text.TextUtils import org.junit.Assert.assertTrue import org.junit.Test class ExampleUnitTest { @Test fun testTextIsEmpty() { val isEmpty = TextUtils.isEmpty("") assertTrue(isEmpty) } } 이 테스트는 매우 간단한 테스트로, TextUtils.isEmpty를 호출해 매개 변수로 입력된 문자열이 빈칸인지 확인하기 위한 테스트이다. 하지만 이 테스트를 실..
@AfterEach는 언제 사용하는가? @AfterEach를 사용하면, 각 테스트 이후 실행되어야 하는 작업을 설정할 수 있다. 예를 들어 영속적인 데이터들이 초기화 되어야 하는 경우 사용될 수 있으며, 대표적으로 테스트 시 사용하는 데이터 베이스를 테스트 하는 경우 인메모리 데이터베이스를 사용하게 되는데, 이런 데이터 베이스를 초기화 할 때 사용할 수 있다. @AfterEach 사용 예시 예를 들어 다음과 같이 MyDatabase라는 이름의 RoomDataBase가 있고, 테스트에 MyDatabase를 사용한다면, 마지막에 꼭 close를 실행해줘야 테스트 시 리소스를 정리할 수 있다. 이때, 다음과 같이 @AfterEach를 사용해 myDatabase를 close 해줌으로써 각 테스트 이후 데이터 베..
하나의 클래스에 대한 여러 테스트 만들기 테스트를 작성하게 되면 하나의 클래스에 여러 테스트가 작성된다. 예를 들어 다음과 같이 가변 인자로 받는 모든 정수에 대해 곱하기를 실행하는 SimpleMultiplier 객체가 있다고 해보자. class SimpleMultiplier() { fun multiplyAll(vararg numbers: Int): Int { return numbers.fold(1) { acc, number -> acc * number } } } 이 객체에 대한 간단한 테스트 케이스와 테스트를 작성하면 다음과 같다. 1. 일반적인 곱하기가 제대로 실행되는지 살펴야 한다. @Test fun `check_2_multiply_3_is_6`() { // Given val simpleMultip..
Dev.Cho
'Android' 태그의 글 목록 (3 Page)