전체 글

안드로이드 공부 중인 컴붕이 블로그입니다.
· Android
안드로이드 통합 테스트 소개 통합 테스트는 여러개의 클래스와 메소드를 모아 의도대로 수행하는지 확인하고, 다른 모듈과의 상호작용이 잘 이루어지는지 확인한다. (아래에 통합Ui테스트를 편의상 통합 테스트로 명시하였음.) 통합 테스트를 위해 아래와 같은 라이브러리를 추가 하였다. // Instrumentation tests androidTestImplementation 'com.google.dagger:hilt-android-testing:2.37' kaptAndroidTest 'com.google.dagger:hilt-android-compiler:2.37' androidTestImplementation "junit:junit:4.13.2" androidTestImplementation "org.jetbr..
· Android
안드로이드 유닛 테스트 소개 유닛 테스트는 소프트웨어에서 독립적으로 실행될 수 있는 가장 작은 부분 (함수, 메소드)와 같은 부분을 테스트 하는 것이다. 안드로이드에서 제공하는 유닛 테스트 라이브러리는 아래와 같다. // Local unit tests testImplementation "androidx.test:core:1.4.0" testImplementation "junit:junit:4.13.2" testImplementation "androidx.arch.core:core-testing:2.1.0" testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.1" testImplementation "com.google.truth:tr..
· Android
아키텍처에서 왜 테스트가 중요할까? 현실적인 필요성 QA보다 더 생산적으로 일할 수 있다. 앱이 확장될 수록 QA로 확인할 수 없는 다양성이 존재할 수 있다. 테스트 없이 결과를 확인하기 위해 로그 및 디버깅 작업은 비용이 큰 작업 좋은 설계를 촉진한다. 단일 책임 원칙, 개방 폐쇄 원칙을 위배하고 있는 클래스는 테스트하기 힘들기 떄문에, 테스트를 위해 해당 원칙을 준수해야 한다. 코딩 생산성 Fail 되지 않은 코드가 잘 움직이고 있다는 심리적 안정성이 코드에 집중할 수 있게 한다. 실제로 테스팅 구현을 함께하면 개발 시간이 짧아 진다. 협업을 촉진한다. 효율적인 코드 리뷰가 가능하다. 문서로서의 테스트 코드는 특정 API의 기능, 원작자의 의도를 확인할 수 있다. 코드 담당자가 아니라도 테스트 코드 ..
[문제] 재서기는 수혀니와 교외 농장에서 숨바꼭질을 하고 있다. 농장에는 헛간이 많이 널려있고 재서기는 그 중에 하나에 숨어야 한다. 헛간의 개수는 N(2 if(value != Int.MAX_VALUE){ // 도달할 수 있는 거리 중 if(resultDistance < value){ resultDistance = value resultIndex = index resultCount = 1 } else if(resultDistance == value){ resultCount += 1 } } } print("$resultIndex $resultDistance $resultCount") } 입력으로 주어진 연결되어 있는 노드를 리스트로 만든 그래프에 입력한다. 1번 노드에서 다른 노드까지 최단 경로를 구하기 ..
[문제] 무게가 서로 다른 N 개의 물건이 있다. 각 물건은 1부터 N 까지 번호가 매겨져 있다. 우리는 일부 물건 쌍에 대해서 양팔 저울로 어떤 것이 무거운 것인지를 측정한 결과표를 가지고 있다. 이 결과표로부터 직접 측정하지 않은 물건 쌍의 비교 결과를 알아낼 수도 있고 알아내지 못할 수도 있다. 예를 들어, 총 6개의 물건이 있고, 다음 5개의 비교 결과가 주어졌다고 가정하자. ([1]은 1번 물건의 무게를 의미한다.) [1]>[2], [2]>[3], [3]>[4], [5]>[4], [6]>[5] 우리는 [2]>[3], [3]>[4]로부터 [2]>[4]라는 것을 알 수 있다. 하지만, 물건 2와 물건 6을 비교하는 경우, 앞서의 결과만으로는 어느 것이 무거운지 알 수 없다. 이와 같이, 물건 2는 ..
[문제] 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다. 단, N명의 학생들의 키는 모두 다르다고 가정한다. 예를 들어, 6명의 학생들에 대하여 6번만 키를 비교하였고, 그 결과가 다음과 같다고 하자. 1번 학생의 키 < 5번 학생의 키 3번 학생의 키 < 4번 학생의 키 5번 학생의 키 < 4번 학생의 키 4번 학생의 키 < 2번 학생의 키 4번 학생의 키 < 6번 학생의 키 5번 학생의 키 < 2번 학생의 키 이 비교 결과로부터 모든 학생 중에서 키가 가장 작은 학생부터 자신이 몇 번째인지 알 수 있는 학생들도 있고 그렇지 못한 학생들도 있다는 사실을 아래처럼 그림을 그려 쉽게 확인할 수 있다. a번 학생의 키가 b번 학생의 키보다 작다면, ..
정자이노
EveryAndroid