전체 글

전체 글

    [Spring] JUnit을 이용한 단위 테스트, 통합 테스트

    스프링에서는 어떻게 단위 테스트를 했는지 내가 하고 있는 프로젝트를 예시로 들면서 작성해 보겠다. 하지만 본인도 공부하면서 해보고 있는 거라 틀릴 수도 있다는 점... 적용하고 있는 거라 틀린 부분 있으면 지적해 주시면 감사하겠습니다. 인프런에서 김영한 강사님의 강의를 들을 때 배운 given/when/then 방식을 사용해서 만들었다. 여기서 말한 given/when/then을 간단하게 설명한다면 이와 같다. given: 테스트의 사전 조건 설정 when: 테스트 대상 동작 수행 then: 예상 결과 검증 나는 테스트해야 하는 클래스가 크게 controller, repository, service 3개, 그리고 각각의 클래스에 각각에 맞게 단위 테스트를 하고 모든 과정을 테스트하는 통합테스트 1개 이렇..

    단위 테스트, 통합 테스트

    이번 프로젝트를 진행하면서 테스트를 메인으로 해보자는 의견이 나와서 공부를 할 겸 궁금한 점도 있어서 정리해 본다. 테스트 코드를 수시로 작성하고 돌리면서 문제를 파악하는 것이 TDD(테스트 주도 개발)에서 얘기하는 테스트가 단위 테스트를 의미하는 것이었다... 테스트는 크게 단위 테스트(Unit Testing), 통합 테스트(Intergration Testing), 시스템 테스트(Ststem Testing), 인수 테스트(Acceptance Testing)로 나눌 수 있다. 하지만 개발자가 개발 단계에서 수행하는 테스트는 단위 테스트와 통합 테스트에 해당한다. 그럼 각각의 테스트가 어떤 역할을 하는지 간단하게 알아보고 개발자가 하는 테스트에 대해 자세히 알아보자. 단위 테스트 개별적인 코드 단위. 즉,..

    [Leetcode] 118 Pascal's Triangle [Java]

    https://leetcode.com/problems/pascals-triangle/ Pascal's Triangle - LeetCode Can you solve this real interview question? Pascal's Triangle - Given an integer numRows, return the first numRows of Pascal's triangle. In Pascal's triangle, each number is the sum of the two numbers directly above it as shown: [https://upload.wikimedia.o leetcode.com 재밌어 보여서 풀었다. ㅋㅋㅋ 그림에서 보는 거와 같이 List안에 List를 하나 더 만들..

    [소프트웨어 아키텍처] 레이어드 아키텍처

    소프트웨어 아키텍처? 소프트웨어 아키텍처는 개발하기 전에 설계 단계에서 결정하는 중요한 요소이다. 소프트웨어 아키텍처는 소프트웨어 시스템의 구조와 구성 요소 간의상호 작용을 설계하고 결정하는 과정이다. 아키텍처는 시스템의 품질(성능, 보안, 확장성 등)을 보장하며, 장기적으로 시스템을 관리하고 유지보수하는 데 있어 중요한 역할을 한다. 이는 소프트웨어 개발의 초기 단계에서 결정되며, 시스템의 복잡성을 분해하고 모듈화하여 개발 과정을 관리 가능한 단위로 나누는 역할을 수행한다. 아키텍처의 대표적인 종류에는 레이어드 아키텍처(Layered Architecture) 마이크로서비스 아키텍처(Microservices Architecture) 서버리스 아키텍처(Serverless Architecture) 핵사고날 ..