Seon
close
프로필 배경
프로필 로고

Seon

  • 분류 전체보기 (48)
    • Study (22)
      • Practice (7)
      • Java (0)
      • Python (6)
      • Algorithm (9)
    • Backend (14)
      • Node.js (2)
      • Spring (6)
      • Datebase (6)
    • Frontend (2)
      • React (2)
      • Vue.js (0)
    • Co-work (10)
      • GitHub (8)
      • Slack (0)
      • Confluence (0)

    Spring 단위 테스트 코드 작성

    Mockito란? Mockito는 개발자가 동작을 직접 제어할 수 있는 가짜 객체를 지원하는 테스트 프레임워크이다. 일반적으로 Spring으로 웹 애플리케이션을 개발하면, 여러 객체들 간의 의존성이 생긴다. 이러한 의존성은 단위 테스트를 어렵게 하는데, 이를 해결하기 위해 가짜 객체를 주입시켜주는 Mockito 라이브러리를 활용할 수 있다. Mockito를 활용하면 가짜 객체에 원하는 결과를 주입하여 단위 테스트를 진행할 수 있다. 예를 들어 서비스 레이어의 메소드를 테스트할 때 데이터베이스나 외부 API 호출을 피하고자 하는 경우 Mockito를 사용하여 가짜 객체를 만들어 해당 기능을 시뮬레이트할 수 있다. 간단한 예시로, UserService라는 서비스가 있고 해당 서비스가 UserRepositor..

    • format_list_bulleted Backend/Spring
    • · 2023. 11. 27.
    • textsms

    프레임워크(Framework)와 라이브러리(Library)

    프레임워크(Framework)란? 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형태로 제공되는 것을 말한다. 프레임워크의 특징 개발자가 따라야하는 가이드를 제공한다. 개발할 수 있는 범위가 정해져있다. 개발자를 위한 다양한 도구, 플러그인들을 지원한다. 프레임워크의 장점 개발 시간을 줄일 수 있다. 정형화되어 있기 때문에 일정 수준 이상의 품질을 기대할 수 있다. 유지 보수가 쉽다. 프레임워크의 단점 너무 의존하면 개발자들의 능력이 떨어져서 스스로 직접 개발하는 것이 어려워진다. 습득에 걸리는 시간이 길다. 프레임워크의 종류 구분 설명 종류 영속성 Framework 데이터의 저장, 조회, 변경, ..

    • format_list_bulleted Backend/Spring
    • · 2023. 11. 12.
    • textsms

    단위 테스트(Unit Test)의 필요성

    단위 테스트와 통합 테스트의 차이 단위 테스트 단위 테스트(Unit Test)는 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트이다. 여기서 모듈은 애플리케이선을 작동하는 하나의 기능 또는 메소드로 이해할 수 있다. 예를 들어 웹 애플리케이션에서 로그인 메소드에 대한 독립적인 테스트가 1개의 단위 테스트가 될 수 있다. 즉, 단위 테스트는 애플리케이션을 구성하는 하나의 기능이 올바르게 작동하는지를 독립적으로 테스트하는 것으로, "어떤 기능이 실행되면 어떤 결과가 나온다" 정도로 테스트를 진행한다. 통합테스트 통합 테스트(Integration Test)는 모듈을 통합하는 과정에서 모듈 간의 호환성을 확인하기 위해 수행되는 테스트이다. 일반적으로 애플리케이션은 여러 개의 모듈들로 구성되어..

    • format_list_bulleted Backend/Spring
    • · 2023. 11. 5.
    • textsms
    테스트 주도 개발(Test-Driven Development, TDD)

    테스트 주도 개발(Test-Driven Development, TDD)

    TDD란? 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다. 짧은 개발 주기의 반복에 의존하는 개발 프로세스이며 애자일 방법론 중 하나인 eXtream Programming(XP_의 'Test-First' 개념에 기반을 둔 단순한 설계를 중요시한다. eXtream Programming : 미래에 대한 예측을 최대한 하지 않고, 지속적으로 프로토타입을 완성하는 애자일 방법론 중 하나이다. 이 방법론은 추가 요구 사항이 생기더라도 실시간으로 반영할 수 있다. 단위 테스트(Unit Test) : 말 그대로 한 단위(class)만을 테스트하는 것이다. TDD 개발 주기 단계에서는 실패하는 테스트 코드를 먼저 작성한다. 단계..

    • format_list_bulleted Backend/Spring
    • · 2023. 11. 2.
    • textsms

    DAO와 Service

    DAO와 Service 정의 DAO Service에 의해 호출되어 DB CRUD를 담당 Service Controller에 의해 호출되어 실제 비즈니스 로깆과 트랜잭션을 처리 DAO를 호출하여 DB CRUD를 처리한 후 Controller로 반환 DAO와 Service 차이 DAO는 단일 데이터 접근/갱신만 처리한다. Service는 여러 DAO를 호출하여 여러번의 데이터 접근/갱신을 하며 그렇게 읽은 데이터에 대한 비즈니스 로직을 수행하고, 그것을 하나의(혹은 여러개의) 트랜잭션으로 묶어준다. 즉, Service가 트랜잭션 단위이다. 단순하게 페이지를 불러오고 DB 정보를 한번에 불러오는 간단한 프로젝트의 경우 DAO와 Service는 차이가 거의 없거나 동일해지는 경우가 발생하기도 한다. 하지만 그것..

    • format_list_bulleted Backend/Spring
    • · 2023. 10. 28.
    • textsms

    Java Bean이란

    Java Bean 특정한 정보 (id, password, name...) 등을 가지고 있는 클래스를 표현하는 하나의 규칙으로 데이터를 표현하기 위한 목적을 가지고 있다. 이러한 규칙에 따라 작성된 클래스를 Java Bean 이라고 한다. Java Bean 규칙 반드시 클래스는 패키지화 되어야 한다 멤버 변수를 property라고 부른다 멤버 변수는 private으로 지정하고, 외부 접근을 위한 get, set 메서드를 정의해야 한다 get, set 메소드는 public으로 지정한다 Java Bean 자바 빈은 데이터를 표현하는 것을 목적으로 하는 자바 클래스로서 다음과 같은 형태로 구성된다. public class QueryVO { // DTO (data transfer object) private St..

    • format_list_bulleted Backend/Spring
    • · 2023. 10. 26.
    • textsms
    • navigate_before
    • 1
    • navigate_next
    공지사항
    전체 카테고리
    • 분류 전체보기 (48)
      • Study (22)
        • Practice (7)
        • Java (0)
        • Python (6)
        • Algorithm (9)
      • Backend (14)
        • Node.js (2)
        • Spring (6)
        • Datebase (6)
      • Frontend (2)
        • React (2)
        • Vue.js (0)
      • Co-work (10)
        • GitHub (8)
        • Slack (0)
        • Confluence (0)
    최근 글
    인기 글
    최근 댓글
    태그
    전체 방문자
    오늘
    어제
    전체
    Copyright © 쭈미로운 생활 All rights reserved.
    Designed by JJuum

    티스토리툴바