본문 바로가기

Android/Test11

Kotest 알아보기 Kotest Index Kotest Index KoTest란 테스트 스타일 Fun Spec String Spec Should Spec Describe Spec Behavior Spec Word Spec Free Spec Feature Spec Expect Spec Annotation Spec 조건부로 테스트 실행하기 Config Focus Bang X-Method @Ignored @EnabledIf Gradle에서 필터링하기 Isolation Modes SingleInstance InstancePerTest InstancePerLeaf Global Isolation Mode Assertions Style Core Matchers 범용 타입 비교 Iterator Map String Integer, Long.. 2021. 9. 27.
@BeforeClass, @AfterClass ,@Before,@After 순서 알아보기 @BeforeClass, @AfterClass ,@Before,@After 순서 알아보기 Junit에 @BeforeClass, @AfterClass ,@Before,@After 어노테이션이 있습니다. 이전 이후..? 뭐지 어떻게 호출되는건지 알아보도록 하겠습니다. Example class BeforeAfterTest { @Before @Throws(Exception::class) fun setUp() { println("@Before") } @After @Throws(Exception::class) fun tearDown() { println("@After") } @Test @Throws(Exception::class) fun testCase1() { println("testCase1") } @Test .. 2019. 11. 1.
JUnit 테스트 순서 제어하기 JUnit 테스트 순서 제어하기 @FixMethodOrder는 3가지 정렬 옵션을 가지고 있습니다. 속성 설명 MethodSorters.DEFAULT HashCode를 기반으로 순서가 결정되기 때문에 사용자가 예측하기 힘듭니다. MethodSorters.JVM JVM에서 리턴되는 순으로 실행됩니다. 때에 따라서 실행시 변경됩니다. MethodSorters.NAME_ASCENDING 메소드 명을 오름차순으로 정렬한 순서대로 실행됩니다. @FixMethodOrder(MethodSorters.SORT방식) MethodSorters.DEFAULT MethodSorters.JVM MethodSorters.NAME_ASCENDING 2019. 11. 1.
JUnit Test Rule 알아보기 JUnit Test Rule 알아보기 JUnit Test Rule에 대하여 알아보도록 하겠습니다. JUnit의 Rule이란?? Rule은 테스트 클래스에서 동작 방식을 재정의하거나 쉽게 추가하는 것을 말합니다. 사용자는 기존의 Rule을 재사용하거나 확장하는 것이 가능합니다. JUnit Rule 종류 JUnit은 사용할 수 있는 여러 가지 Rule이 존재합니다. (아래의 표 참고) 여러 가지 Rule에 대하여 자세히 알아보겠습니다. 기본 Rule 클래스 규칙 이름 설명 Rule Description TemporaryFolder 임시폴더 관리. 테스트 후 삭제 ExternalResources 자원(DB, 파일, 소켓) 관리 ErrorCollector 지속적 테스트 실패 수집 Verifier 별개 조건 확인.. 2019. 11. 1.
Mockito-Kotlin Sample로 자세히 알아보기 Mockito-Kotlin Sample로 자세히 알아보기 #Mockito Features에 대한 문서를 글쓴이가 Kotlin으로 해석한 샘플입니다. 틀린 것이나 좀 더 나은 코드가 있다면 댓글로 남겨주시면 감사하겠습니다 :) #Mockito Features 원문 https://www.javadoc.io/static/org.mockito/mockito-core/3.1.0/org/mockito/Mockito.html contents 1. Mock객체의 동작(Behavior)을 검증해보기 @Test fun `mock_will_memorize_all_interaction`() { val mockedList = mock() mockedList.add("one") mockedList.clear() //검증하기 , .. 2019. 10. 28.
Mockito-Kotlin 알아보기 Mockito-Kotlin 알아보기 Mockito는 유닛 테스트를 위한 Java mocking framework입니다. Mockito를 사용하여 쉽게 Mock Object를 만들어 관리할 수 있습니다. Mockito는 현재 Kotlin과 함께 작동하지만 구문이 최적이 아닙니다. Kotlin에서는 모든 클래스가 기본적으로 final로 선언되어있어 Mockito는 기본적으로 mocking을 할 수 없는 등의 여러 문제가 있습니다. 그래서 Niek Haarman이 유지 관리하는 mockito-kotlin 라이브러리를 사용하도록 하겠습니다. (글 쓴 시점으로는 Mockito lib는 kotlin을 공식 지원하지는 않지만 추후 제공 계획이 있다고 합니다.) Mockito-Kotlin 기본 사용법 dependenc.. 2019. 10. 28.
Test Double(테스트 더블)알아보기 Test Double(테스트 더블) 알아보기 xUnit Test Patterns의 저자인 제라드 메스자로스(Gerard Meszaros)가 만든 용어로, 스턴트 더블(영화 촬영에서 말하는 스턴트 대역 배우)에서 아이디어를 얻어서 만든 용어입니다. Test Double소개 제라드 메스자로스는 아래와 같이 Test Double을 소개합니다. When we are writing a test in which we cannot (or chose not to) use a real depended-on component (DOC), we can replace it with a Test Double. The Test Double doesn’t have to behave exactly like the real DOC; .. 2019. 10. 28.
Test Stub이란 ? Test Stub이란 ? stub에 대하여 알아보도록 하겠습니다 stub이란 ? stub이란 토막,꽁초,남은부분,몽당연필.. 이라는 뜻으로 dummy객체가 마치 실제로 동작하는 것 처럼 보이도록 만들어놓은 것입니다. https://en.wikipedia.org/wiki/Test_stub Test stub - Wikipedia In computer science, test stubs are programs that simulate the behaviours of software components (or modules) that a module undergoing tests depends on. “ Test stubs provide canned answers to calls made during the t.. 2019. 10. 28.
TDD알아보기 TDD알아보기 TDD의 란? (Test Driven Development) 테스트 주도 개발: 테스트가 개발을 이끌어 나가는 개발방법론 구체적인 행동 레벨에서의 TDD의 개념은? 테스트를 먼저 만들고 테스트를 통과하기 위한 것을 짜는 것 즉, 만드는 과정에서 우선 테스트를 작성하고 그걸 통과하는 코드를 만들고를 반복하면서 제대로 동작하는지에 대한 피드백을 적극적으로 받는 것입니다. TDD가 어려운이유는뭘까 ?? 개발 시간이 증가합니다. 많은 기업들이 단기적인 성과에 집중해 있습니다. 전체 개발 시간을 줄이는 것보다 오늘 일을 끝내는 것을 강조하기 때문에 TDD 도입이 어렵습니다. 단기적인 것에 집중되어 있으니.. 그때까서 또 고치면 되니까.. 고객이 화내면 안되니까.. 급한 불을 끄면서 허덕이면서 살기 .. 2019. 10. 4.
assertThat assertThat알아보기 JUnit을 활용한 테스트에서는 assertThat 구문을 활용하여 코드의 길이를 줄이면서도 읽혀지는 코드를 작성할 수 있도록 도와줍니다. 즉 assertThat을 잘 사용하면 개발자의 의도를 보다 명확하게 드러낼 수 있는 큰 장점을 얻어갈 수 있을 것입니다. assertThat사용법 assertThat은 assertThat(T actual, Matcher 2019. 10. 4.
Junit - Assert 메소드 단정 메소드(assert method) · JUnit에서 가장 많이 이용되는 단정(assert) 메소드입니다. · 단정 메서드로 테스트 케이스의 수행 결과를 판별합니다. 메소드 설명 assertEquals(x, y) · 객체 x와 y가 일치함을 확인합니다. · x(예상 값)와 y(실제 값)가 같으면 테스트 통과 assertArrayEquals(a, b); · 배열 A와 B가 일치함을 확인합니다. assertFalse(x) · x가 false 인지 확인합니다. assertTrue(x) · x가 true 인지 확인합니다. assertTrue(message, condition) · condition이 true이면 message표시 assertNull(o) · 객체o가 null인지 확인합니다. assertNot.. 2019. 7. 10.