Android
UI Test (with Espresso)
Espresso란? 1. UI 테스팅 기초 gradel 설정 android { defaultConfig { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // 기존에 있음 } } dependencies { androidTestImplementation 'androidx.test:rules:1.2.0' androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'// 기존에 있음 androidTestImplementation 'androidx.test.espresso:es..
Android Test관련 실습 예제 및 소스 목록
안드로이드 테스트 관련하여 공부할것들 목록 1. UI 테스트 espresso 2. Unit 테스트 Junit 3. Interface로 분리 Interface 로 나눠서 여러 행동을 정의할 수 있게 변경 4. Server와 테스트 동기/비동기 테스트 5. ViewModel와 테스트 로직 분리 6. Dagger 와 테스트 테스트 모듈/프로 7. Firebase Test Lab for Android 안드로이드 공식 테스트 샘플 코드 https://github.com/android/testing-samples Espresso Samples BasicSample -기본 Espresso 샘플 CustomMatcherSample - EditText의 힌트 속성과 일치하도록 Espresso를 확장하는 방법을 보여줍니다..
Android Test 디자인 (Droid Knights 2018 발표 내용 정리하기)
참고 Droid Knights 2018 발표 내용 기반으로 정리함 youtu.be/qwhIVi88pt4
Android Thread (UI Thread로 전환)
스레드(Thread)? 프로세스(process) 내에서 "순차적"으로 실행되는 실행 흐름의 최소 단위를 뜻합니다. Thread생성 방법 1. Thread 클래스 생성 new Thread() { public void run() { // Thread 처리할 코드 작성 } }.start(); 2. Thread 클래스 상속(extends) class NewThread extends Thread { NewThread() { } public void run() { // Thread 처리할 코드 작성 } } NewThread newThread = new NewThread() ; newThread.start() ; 3. Runnable 인터페이스 구현(implements) class NewRunnable impleme..
MVVM 패턴
MVVM은 Model + View + View Model를 합친 용어입니다. 특징 및 장점 MVVM 패턴은 Command 패턴과 Data Binding 두 가지 패턴을 사용하여 구현되었습니다. Command 패턴과 Data Binding을 이용하여 View와 View Model 사이의 의존성을 없앴습니다. View Model과 View는 1:n 관계입니다. MVVM 패턴은 View와 Model 사이의 의존성이 없습니다. 또한 Command 패턴과 Data Binding을 사용하여 View와 View Model 사이의 의존성 또한 없앤 디자인패턴입니다. 각각의 부분은 독립적이기 때문에 모듈화 하여 개발할 수 있습니다. 동작 순서 출처 https://beomy.tistory.com/43 ]
Android에서 앱 테스트 (Test apps on Android)
테스트 기본 요소(Fundamentals of Testing) 사용자는 버튼을 누르는 것부터 기기에 정보를 다운로드하는 것에 이르기까지 다양한 수준에서 앱과 상호작용합니다. 따라서 반복적으로 앱을 개발할 때 다양한 사용 사례와 상호작용을 테스트해야 합니다. 앱이 확장됨에 따라 서버에서 데이터를 가져오거나, 기기 센서와 상호작용하거나, 로컬 저장소에 액세스하거나, 복잡한 사용자 인터페이스를 렌더링해야 할 수 있습니다. 앱 다양성을 고려하여 종합적인 테스트 전략을 수립해야 합니다. 반복적으로 코드 만들기 및 테스트 새 기능을 디자인할 때 나타나는 책임 단위를 고려하는 것이 중요합니다. 단위마다 해당하는 단위 테스트를 작성합니다. 단위 테스트는 표준 상호작용, 잘못된 입력, 사용 가능한 리소스가 없는 사례를 ..