728x90

WEB/Java Test 4

운영 이슈 + 아키텍처 테스트

카오스 엔지니어링 툴 프로덕션 환경, 특히 msa에서 불확실성을 파악하고 해결 방안을 모색하는데 사용하는 툴이다. 가령 Controller의 특정 api를 호출 했을때 일부러 응답을 지연시켜서 써킷이 의도한대로 동작을 하는지 테스트할 수 있다. spring.profiles.active=chaos-monkey management.endpoint.chaosmonkey.enabled=true management.endpoints.web.exposure.include=health,info,chaosmonkey chaos.monkey.watcher.repository=true chaos-monkey dependency 를 추가한후에 profile 을 chaos-monkey를 적용시켜줘야한다. spring boot..

WEB/Java Test 2022.11.14

TestContainers

database 랑 연관된 테스트를 진행하고 싶을 때 사용한다. docker container 를 사용하게 되는데 TestContainer는 이를 수동으로 관리하는 번거로움 덜어준다. org.testcontainers junit-jupiter 1.17.2 test org.testcontainers postgresql 1.17.5 test junit 에서 지원하는 testcontainers를 써야한다 spring.datasource.url=jdbc:tc:postgresql:///studytest spring.datasource.driver-class-name=org.testcontainers.jdbc.ContainerDatabaseDriver spring.jpa.hibernate.ddl-auto=creat..

WEB/Java Test 2022.11.11

Mockito

Mock = 진짜 객체와 비슷하게 동작하지만 프로그래머가 직접 그 객체의 행동을 관리하는 객체 Mockito = Mock 객체를 쉽게 만들고 관리하고 검증할 수 있는 방법을 제공, 많이 쓰임 Mock 생성 public StudyService(MemberService memberService, StudyRepository repository) { assert memberService != null; assert repository != null; this.memberService = memberService; this.repository = repository; } test에서 StudyService를 만들어서 써야하지만 MemberService, StudyRepository는 interface만 존재하는..

WEB/Java Test 2022.11.11

JUnit5

Platform = 실제 테스트를 실행해주는 런처 제공 , TestEngine API 제공 Jupiter = JUnit5 를 제공하고 TestEngine API를 구현함 Vintage = JUni3,4 용 TestEngine API 구현체 Spring Boot에서 기본적으로 JUnit5를 디펜던시로 껴있다. 없으면 maven에서 따로 jupiter engine을 추가하면 된다. @BeforeAll , @AfterAll 은 static void로 작성해야하고 전체 테스트 실행 전, 후 실행 되는 메서드이다. @BeforeEach @AfterEach static void로 작성할 필요는 없지만 그냥 통일하는게 좋을듯, 모든 @Test 각각의 전후에 실행되는 메소드이다. @Disabled 는 @Test중에 깨..

WEB/Java Test 2022.11.10
728x90