백기선(인프런 강의)
-
BDD 스타일 Mockito API백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 6. 2. 08:43
https://github.com/keesun/inflearn-the-java-test 위 사이트에 들어가서 테스트코드를 받자(3399abcc89ce150b48dcfbcac54d418350467760) BDD 애플리케이션이 어떻게 '행동'해야 하는지에 대한 공통된 이해를 구성하는 방법으로, TDD에서 창안됨 Mockito는 BddMockito라는 클래스를 통해 BDD 스타일의 API를 제공한다 BDD 스타일 When - > Given Verify -> Then 행동에 대한 스팩 Title 행동의 이름 Narrative 행동에 대한 설명 as a 어떤한 역활 I want 내가 원하는 것 so that 의사 표현 Acceptance criteria 인수 테스트한 내용 Given 어떠한 상황이 주어진 상황 W..
-
Mock 객체 확인백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 29. 08:58
Mock 객체가 어떻게 사용됐는지 확인이 가능하다. 예시코드는 아래의 깃사이트에서 다운로드 받을 수 있으며 https://github.com/keesun/inflearn-the-java-test 캡쳐한 index를 다운받으면 된다. Verifying exact number of invocations javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#exact_verification 특정 메소드가 특정 매개변수로 몇번 호출 되었는지, 최소 한번은 호출됐는지, 전혀 호출되지 않았는지 예시코드 import static org.junit.jupiter.api.Assertions.assertEquals; import static org..
-
Mock객체 stubbing연습문제백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 28. 23:25
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import java.util.Optional; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mo..
-
Mock 객체 Stubbing백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 27. 23:55
https://github.com/keesun/inflearn-the-java-test 위사이트에 들어가서 테스트코드 다운로드 16번째로 commit한거 Mock 객체의 행동 null을 리턴 (Optional 타입은 Optional.empty 리턴) Primitive 타입은 기본 Primitive값 boolean 은 false long 0 콜렉션은 비어있는 콜렉션 Void메소드는 예외를 던지지 않고 아무런 일도 발생하지 않는다. Mock 객체를 조작해서 특정한 매개변수를 받은 경우 특정한 값을 리턴하거나 예뢰를 던지도록 만들 수 있다. How about some subbing? https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mock..
-
Mock 객체 만들기백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 26. 09:01
https://github.com/keesun/inflearn-the-java-test 위에 github 저장소에 들어가 history를 아래 순서와 같이 history가 쌓여 있다. 이중 Prepare Mockito example를 import를 받고 실행하면 아래와같이 import가 된다.(test부분은 삭제했음) 방법1. 아무것도 사용안할 시 테스트하는 방법 StudyService class를 테스트하기위해서는 아래와 같이 구현하여 테스트를 해야 한다. 하지만 아래와 같이 구현체를 직접 구현해서 사용해야하는 번거로움이 있다. import static org.junit.Assert.assertNotNull; import java.util.List; import java.util.Optional; im..
-
Junit5 조건에 따라 테스트 실행하기백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 19. 13:09
특정한 조건, 특정한 환경변수, 값에 따라 실행하거나 안하거나 이런 조건에 따른 조건 assumeTrue(조건) org.junit.jupiter.api.Assumptions.*에 존재 True/false으로 나타내며 false일때 아래 테스트코드 동작을 안함 import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assumptions.assumeTrue; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; public class StudyTest { @Test @DisplayName("스터디 만들기 \uD83..
-
Assertion백기선(인프런 강의)/더 자바, 애플리케이션을 테스트하는 다양한 방법 2020. 5. 18. 00:08
Assertion 종류 assertEqulas(expected, actual) 실제 값이 기대한 값과 같은지 확인 assertNotNull(actual) 값이 null이 아닌지 확인 assertTrue(boolean) 다음 조건이 참(true)인지 확인 assertAll(executables...) 모든 확인 구문 확인 assertThrows(expectedType, executable) 예외 발생 확인 assertTimeout(duration, executable) 특정 시간 안에 실행이 완료되는지 확인 duration - 몇초만에 끝내야하는지 마지막 매개변수로 Supplier 타입의 인스턴스를 람다 형태로 제공할 수 있다. 복잡한 메시지 생성해야 하는 경우 사용하면 실패한 경우에만 해당 메시지를 만들..