꾸준히 재밌게
728x90
728x90
article thumbnail
테스트코드 실습하기 (단위, 통합 테스트) - TestCode(14)
공부방 2023. 7. 30. 20:28

서론 인강은 끝이 났고, 인강 내용을 바탕으로 첫 테스트 코드를 적용한 토이 프로젝트 내 코드들을 조금 리뷰해보려고 한다. 프로젝트를 간단히 소개하자면, 그냥 롤 챔피언 정보를 JSON으로 받아와서 무언가를 하는 서비스를 구현 할 예정이다. 우선 돌아가게는 작성했는데 테스트 코드를 처음 직접 활용하다보니 부족한 부분이 많을 수 있다. 혹여 지나가다 보시는 고수분들께서 틀린 점이 있다면 지적좀 해주시면 감사할 따름.. 단위 테스트 Champion의 Repository에 대한 테스트를 작성했다. package com.example.lolchampionsinvestment.domain.champion; import org.junit.jupiter.api.DisplayName; import org.junit.j..

article thumbnail
애자일(Agile) 방법론에 대한 이해 ↔ 폭포수(Waterfall) 방법론
공부방 2023. 7. 22. 08:57

서론 테스트 코드에 대한 공부 중에 Scrum, Kanban, XP(eXtreme Programing)과 같은 키워드가 등장했고 찾아보니 전부 애자일 방법론이라는 공통 뿌리를 발견하게 되었다. 소프트웨어 개발 방법론에는 여러가지가 있지만, 그 중 애자일 방법론이라는 키워드를 얻게 되어 공부를 위한 포스팅이다. 구글링 중 애자일 방법론이 등장한 배경과 같은 자료들도 많아서 읽어보았고 개인적으로 가장 잘 읽혔던 것을 하나 공유해둔다. '애자일은 뭐고 폭포수는 뭐야?' 애자일 방법론 역사 이해하기 요즘은 모든 기술 조직이 어떤 형태로든 애자일 방법론을 실천하거나 그렇게 하고 있다고 믿는 것 같다. 소프트웨어 개발에 처음 발을 들여놓는 사람 www.itworld.co.kr 폭포수(Waterfall) 방법론 폭포..

article thumbnail
[SpringBoot] org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "drop table if exists user cascade " via JDBC [Syntax error in SQL statement "drop table if exists [*]user cascade "; expected "identifier";]
트러블슈팅 2023. 7. 16. 10:09

에러 메세지 org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "drop table if exists user cascade " via JDBC [Syntax error in SQL statement "drop table if exists [*]user cascade "; expected "identifier";] 원인 테스트 코드 공부를 마치고, 적용을 위해 토이 프로젝트를 진행하다 처음 마주친 에러이다. 에러 상황은 회원가입 시 User Entity에서 Repository를 통해 save할 때 발생하였으며 RED 상황이 아닌 hibernate에서 정말 에러를 뱉어내고 있었다. 테스트 로직은 아래처럼, RED 상황..

article thumbnail
private method test를 해야하는가? / TestCode(13)
공부방 2023. 7. 16. 06:10

서론 본 포스팅은 아래의 인강을 듣고, 추가 공부가 필요한 내용들을 포함하여 정리한 포스팅입니다. Practical Testing: 실용적인 테스트 가이드 - 인프런 | 강의 이 강의를 통해 실무에서 개발하는 방식 그대로, 깔끔하고 명료한 테스트 코드를 작성할 수 있게 됩니다. 테스트 코드가 왜 필요한지, 좋은 테스트 코드란 무엇인지 궁금하신 모든 분을 위한 강 www.inflearn.com private method를 테스트해야 하는가 강의에서는, private 메서드를 테스트할 필요가 없으며, private 메서드를 테스트 고려해야 할 때를 객체를 분리해야하는 시점인가? 라는 질문을 던져보라고 하였다. 아래의 코드는, 다음 상품번호를 생성해주는 ProductService에서 발췌한 private 메서..

article thumbnail
더 좋은 테스트 코드 작성하기 4 - 테스트 환경 통합 / TestCode(12)
공부방 2023. 7. 15. 06:34

서론 본 포스팅은 아래의 인강을 듣고, 추가 공부가 필요한 내용들을 포함하여 정리한 포스팅입니다. Practical Testing: 실용적인 테스트 가이드 - 인프런 | 강의 이 강의를 통해 실무에서 개발하는 방식 그대로, 깔끔하고 명료한 테스트 코드를 작성할 수 있게 됩니다. 테스트 코드가 왜 필요한지, 좋은 테스트 코드란 무엇인지 궁금하신 모든 분을 위한 강 www.inflearn.com 테스트 환경 통합하기 (참고) IntelliJ에서 전체 테스트 수행 시 Gradle - Tasks - verification - test 강의 내 작성했던 코드를 가지고 전체 테스트를 돌려보았다. 작성한 단위테스트와 통합테스트 모두 돌아갔으며 로그가 남았다. 로그를 확인해보니 Spring Boot가 6번 등장했다. ..

article thumbnail
더 좋은 테스트 코드 작성하기 3 - Dynamic Test / TestCode(11)
공부방 2023. 7. 14. 06:57

서론 본 포스팅은 아래의 인강을 듣고, 추가 공부가 필요한 내용들을 포함하여 정리한 포스팅입니다. Practical Testing: 실용적인 테스트 가이드 - 인프런 | 강의 이 강의를 통해 실무에서 개발하는 방식 그대로, 깔끔하고 명료한 테스트 코드를 작성할 수 있게 됩니다. 테스트 코드가 왜 필요한지, 좋은 테스트 코드란 무엇인지 궁금하신 모든 분을 위한 강 www.inflearn.com Dynamic Test 환경을 설정해놓고, 중간중간 변화를 주며 검증을하는 등의 시나리오를 테스트하고 싶을 때 사용한다. @TestFactory Stream exampleDynamicTest() { return Stream.of( dynamicTest("First Dynamic Test", () -> { // tes..

article thumbnail
더 좋은 테스트 코드 작성하기 2 - Test Fixture 구성하기 / TestCode(10)
공부방 2023. 7. 13. 22:40

서론 본 포스팅은 아래의 인강을 듣고, 추가 공부가 필요한 내용들을 포함하여 정리한 포스팅입니다. Practical Testing: 실용적인 테스트 가이드 - 인프런 | 강의 이 강의를 통해 실무에서 개발하는 방식 그대로, 깔끔하고 명료한 테스트 코드를 작성할 수 있게 됩니다. 테스트 코드가 왜 필요한지, 좋은 테스트 코드란 무엇인지 궁금하신 모든 분을 위한 강 www.inflearn.com Test Fixture 구성하기 중복 발생이 되는 상황들을 한 곳에 묶어 관리하는 개념으로 JUnit에서는, 동일하거나 유사한 개체 집합에 대해 작동하는 두 개 이상의 테스트가 있는 경우 Test Fixture 메서드의 사용을 권장한다. 굳이 메서드를 사용하지 않더라도 픽스처를 구성할 때, 원하는 파라미터만 명확히 ..

article thumbnail
더 좋은 테스트 코드 작성하기 1 - TestCode(9)
공부방 2023. 7. 11. 22:52

서론 본 포스팅은 아래의 인강을 듣고, 추가 공부가 필요한 내용들을 포함하여 정리한 포스팅입니다. Practical Testing: 실용적인 테스트 가이드 - 인프런 | 강의 이 강의를 통해 실무에서 개발하는 방식 그대로, 깔끔하고 명료한 테스트 코드를 작성할 수 있게 됩니다. 테스트 코드가 왜 필요한지, 좋은 테스트 코드란 무엇인지 궁금하신 모든 분을 위한 강 www.inflearn.com 하나의 주제에 대한 테스트 수행 한 가지의 테스트에서는 한 가지 목적의 검증만을 수행하여야 한다. DisplayName을 한 문장으로 치환할 수 있는지에 대한 고민을 해보는 것이 좋다. 예를 들어, 조건문, 반복문이 들어간 테스트는 포괄적인 테스트가 될 수 있다. @DisplayName("동물이 동물원에 있는지 확인..

728x90
728x90