본문 바로가기

테스트주도개발4

[스프링 부트(SpringBoot) : 고급] 도메인 주도 설계(DDD)와 스프링 부트 5. 도메인 주도 설계(DDD)와 스프링 부트 도메인 주도 설계(DDD)를 사용하여 프로젝트를 개발하는 방법을 살펴봅니다. DDD는 도메인 전문가와 소프트웨어 개발자가 협력하여 복잡한 비즈니스 문제를 해결하는 데 도움이 되는 설계 접근법입니다. 이 과정에서는 DDD의 개념, 적용 전략, 그리고 스프링 부트에서 DDD를 구현하는 방법에 대해 알아보게 됩니다. 5.1. DDD 소개 도메인 주도 설계(DDD)는 Eric Evans가 처음 소개한 소프트웨어 개발 방법론입니다. DDD는 도메인 모델을 중심으로 설계하고 구현하는 방법으로, 도메인 전문가와 개발자의 협업을 통해 복잡한 비즈니스 문제를 해결하는데 초점을 맞춥니다. DDD는 다음과 같은 주요 구성 요소로 이루어져 있습니다. 도메인: 비즈니스 문제가 발생.. 2023. 5. 6.
[스프링 부트(SpringBoot) : 중급] 중급 실전 예제 10. 중급 실전 예제 여기서는 중급 수준의 웹 애플리케이션, RESTful API를 사용한 모바일 애플리케이션 백엔드, 그리고 마이크로서비스 기반 애플리케이션 개발을 포함한 다양한 실전 예제를 다룹니다. 10.1. 중급 수준의 웹 애플리케이션 중급 수준의 웹 애플리케이션에서는 다음과 같은 기능을 구현해 봅니다. 사용자 인증 및 인가 게시판 기능 파일 업로드 및 다운로드 페이징 처리 예제 코드 @Controller public class BoardController { // 게시판 서비스 @Autowired private BoardService boardService; // 게시판 목록 조회 @GetMapping("/boards") public String getBoardList(Model model, .. 2023. 5. 5.
[스프링 부트(SpringBoot) : 중급] 테스트 전략 및 심화 6. 테스트 전략 및 심화 6.1. 테스트 주도 개발(TDD) 테스트 주도 개발(Test-Driven Development, TDD)은 테스트를 중심으로 개발하는 방식으로, 테스트 케이스를 먼저 작성한 후 코드를 작성합니다. 이를 통해 코드 품질 향상과 버그 감소에 도움이 됩니다. [TDD의 주요 단계] 실패하는 테스트 케이스 작성 : 먼저 테스트 케이스를 작성하여 실패하게 합니다. 테스트를 통과할 수 있는 최소한의 코드 작성 : 테스트를 통과할 수 있도록 최소한의 코드를 작성합니다. 코드를 리팩토링하면서 개선 : 테스트를 통과한 코드를 개선하고 리팩토링합니다. 예제 코드 (계산기 서비스 TDD) // CalculatorTest.java @RunWith(SpringRunner.class) @SpringB.. 2023. 5. 5.
[스프링 부트(SpringBoot)] 테스트 기초 8. 테스트 기초 8.1. 테스트의 중요성 소프트웨어 개발 과정에서 테스트는 매우 중요한 역할을 합니다. 테스트를 통해 코드의 신뢰성을 높이고, 버그를 찾아 수정할 수 있으며, 코드의 품질을 높여 유지보수가 쉬운 애플리케이션을 만들 수 있습니다. 또한, 테스트를 통해 리팩토링을 수월하게 할 수 있고, 다른 개발자와 협업할 때 코드의 기능을 검증할 수 있습니다. 8.2. 스프링 부트 테스트 소개 스프링 부트는 다양한 테스트 라이브러리를 지원하며, 테스트를 쉽게 작성하고 실행할 수 있는 기능을 제공합니다. 스프링 부트 테스트는 스프링 프레임워크의 테스트 기능을 기반으로 하며, JUnit, Mockito, AssertJ 등 다양한 테스트 라이브러리를 사용할 수 있습니다. 스프링 부트 테스트는 애플리케이션 컨텍.. 2023. 5. 3.