인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

스프링 부트(Spring Boot)로 은행 애플리케이션을 개발해 봅니다. 개발을 하면서 발생하는 여러 문제들을 하나씩 직접 제이유닛(JUnit)으로 테스트해 보면서 스스로 고민하고 애플리케이션을 구축할 수 있는 힘을 길러드리는 강의입니다.

초급자를 위해 준비한
[소프트웨어 테스트, 백엔드] 강의입니다.

이런 걸 배울 수 있어요

  • JPA

  • Security

  • Springboot

  • JUnit 단위 테스트

  • JUnit 통합 테스트

  • JUnit 테스트를 위한 효과적인 세팅법

Spring Boot + JUnit, 처음부터 확실하게!

초보 백엔드 개발자를 위한
스프링 부트 JUnit 테스트 활용

💡 스프링부트로 Junit 테스트를 하지 않고 프로젝트를 작성하고 있다면?

💡 테스트를 작성했을 때의 장점이 무엇인지 잘 모르겠다면?

테스트 프로그램 작성 프레임워크, JUnit

단위 테스트, 통합 테스트 등 JUnit을 사용해 Spring Boot(스프링 부트)에서 테스트를 진행하는 방법에는 여러 가지가 있습니다. 하지만 막상 초보자가 JUnit으로 테스트를 시작하기에는 다소 어렵게 느껴지기 마련입니다. 개인/기업 블로그나 공식 문서 등에 개념이 적혀있기는 하지만 막상 잘 정리된 개념과 팁만을 모아보기도 쉽지 않습니다.

이 강의에서는 JUnit이 처음인 분들이 JUnit을 쉽게 접할 수 있도록 개념을 정리하고, 다양한 팁들을 정리합니다. Repository, Service, Controller, Security Filter 등에서 발생할 수 있는 문제들을 하나씩 테스트해 봅니다. 이 과정을 통해 스프링 부트 레이어들간의 관계 및 책임에 대해 명확하게 알고 넘어갈 수 있습니다.

스프링 부트 경험은 있지만, 테스트의 필요성도 방법도 잘 모르고 계신가요? 
여러분은 이 강의를 통해 테스트를 하지 않고 본코드를 작성할 때와, 테스트를 작성하고 본코드를 작성할 때의 차이를 직접 경험하게 될 것입니다. 스프링 부트로 프로젝트를 작성하고 계신다면, 고민하지 말고 꼭 수강하시길 바랍니다!


은행 애플리케이션을 개발하며 
테스팅을 생생하게 배워보세요.

스프링부트를 통해 간단한 은행(Bank) 애플리케이션을 만들어 봅니다. 이 과정에서 스프링부트와 시큐리티에 대해 더 자세히 알 수 있고, JUnit 테스트를 왜 하는지 명확하게 알 수 있게 됩니다.

강의 특징

  • ✅ Rest API 주소 설계에 대해 고민할 수 있게 됩니다.
  • ✅ 시큐리티 코드를 테스트할 수 있으며, 테스트를 통해 프로젝트 개발 시간을 단축시킬 수 있습니다.
  • ✅ JUnit 테스트를 할 때 꼭 필요한 세팅 방법 및 팁을 공유합니다.
  • ✅ 인터넷에 있는 원론적인 내용이 아닌, 왜 테스트를 해야 하는지를 체험할 수 있게 됩니다.

상세 커리큘럼

스프링부트 프로젝트/스프링부트 시큐리티 세팅

  • Bank 애플리케이션 프로젝트를 세팅하고, 테이블을 설계하고 엔티티를 생성합니다.
  • 최신화된 시큐리티 코드를 작성하고, Junit으로 테스트합니다.

스프링부트 회원가입

  • 첫 번째 기능인 회원가입을 통해 Validation, AOP를 적용하고 테스트합니다.

스프링부트 JWT 인증 및 인가

  • JWT 서버를 구현하고, 인증 테스트/인가 테스트를 진행합니다.
  • JWT 서버 코드를 리팩토링 해봅니다.

은행 애플리케이션 만들기

  • 계좌등록, 계좌목록, 계좌삭제, 계좌입금, 계좌출금, 계좌이체, 입출금내역보기 기능을 만들어봅니다.
  • 해당 기능에 대한 Repository, Service, Controller 테스트를 진행합니다.
  • 테스트는 통합테스트, 단위테스트, Mock 테스트에 대해서 배우게 됩니다.
  • 테스트에 필요한 세팅과, 문제점, 팁을 모두 공유합니다.

회원가입, 로그인, 계좌 관리 등 은행 앱에 필요한 다양한 기능을 만드는 과정에서 테스트를 진행해 봅니다.


반갑습니타, 메타코딩 최주호입니다!

스프링 프레임워크, 리액트, 플러터, DevOps 등 개발 유튜브 채널 메타코딩을 운영하는 최주호입니다.

상세 이력

  • 현 겟인데어 대표, 노마드랩 개발 팀장, BNK시스템 (은행), 경성대학교 정보전산원, OSAM 해커톤 멘토, 크러스트 유니버스 NFT Flutter 앱 개발
  • 부산IT교육센터 강의 (스프링 프레임워크), 동의대학교 평생아카데미 강의 (스프링 프레임워크), 정보진흥원 강의 (공공데이터), 대전보건대 강의 (스프링프레임워크), 광운대학교 강의 (사물인터넷 스마트홈), SBS아카데미 (자바 강의), 구름에듀 (스프링프레임워크), 지아이티강의 (스프링프레임워크, 머신러닝), 패스트캠퍼스(스프링부트) 강의 중
  • 자바 프로그래밍 입문, JSP 프로그래밍 입문, IoT 사물인터넷을 위한 라즈베리파이 저자 (앤써북), 플러터 UI입문 (앤써북), 플러터 UI실전 (앤써북) 등 저
  • 스프링부트 정석 (위키북스), AWS CI/CD 배포 기술서 (앤써북) 집필 중
  • 유튜브 메타코딩 채널 운영 (스프링프레임워크, 리액트, 플러터, Devops)
  • 이지업, OSAM, 인프런, 구름에듀 등 온라인 강의 진행
  • 부경대 컴퓨터공학 석사 졸업, 공개 소프트웨어 역량 강화 (국방부장관상)

Q&A를 확인해보세요.

Q. macOS에서 수강할 수 있나요?

네, 수강하셔도 됩니다.

Q. VSCode가 아닌 다른 IDE를 사용해도 되나요?

본인이 사용하는 IDE가 있다면 해당 툴을 사용해도 무방합니다.

Q. JUnit이 처음인데 강의를 들어도 될까요?

스프링부트 및 JPA를 학습하셨다면 바로 수강하셔도 됩니다.

https://www.inflearn.com/course/스프링부트-시큐리티

위 URL의 강의를 듣고 Junit 강의를 들으면 더욱 재밌게 수강할 수 있어요.

💾 수강 전 참고 사항

  • Windows/macOS 환경 모두 수강하실 수 있으며, IDE로는 VSCode를 사용합니다. (IntelliJ 등 다른 IDE를 사용해도 무방합니다.)
  • JDK 11, Spring Boot 2.7.7 버전을 사용합니다. 스프링부트 버전 3.0 이상을 사용할 경우에는 자바(Java) 17 버전 이상을 세팅하셔야 합니다.
  • 선수 지식으로 스프링 부트 및 JPA 사용 경험이 있어야 합니다.
  • Github을 통해 학습 자료를 제공합니다. (링크)

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 스프링부트로 JUnit 테스트를 하고 싶은 개발자 혹은 학생

  • 최신 스프링부트 시큐리티 코드를 알고 싶은 개발자 혹은 학생

선수 지식,
필요할까요?

  • 스프링부트

  • JPA

안녕하세요
최주호입니다.

28,347

수강생

714

수강평

219

답변

4.9

강의 평점

4

강의

유튜버 메타코딩입니다.

https://www.youtube.com/channel/UCVrhnbfe78ODeQglXtT1Elw

커리큘럼

전체

69개 ∙ (15시간 9분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

23개

4.6

23개의 수강평

  • daycoding님의 프로필 이미지
    daycoding

    수강평 24

    평균 평점 4.6

    3

    100% 수강 후 작성

    The lecture content is very good [Good points] 1. There are many things I didn't know about 2. There are many useful codes in practice 3. The content is rich and explained in detail 4. The lecture materials are well organized on GitHub ----- [Disappointing points] 1. Like other reviews, the keyboard sound is so loud... I can't really concentrate.. 2. Maybe because it's live coding... In most chapters, the instructor has a mental breakdown and is static due to mistakes... And while looking for errors, the lecture flow is interrupted.. So I have to rewind and listen again to understand.. (Like other live coding lectures, it would be good to use multiple monitors and refer to pre-completed projects while proceeding..)

    • dongheekim359님의 프로필 이미지
      dongheekim359

      수강평 50

      평균 평점 5.0

      5

      7% 수강 후 작성

      Hello, instructor~ I took the instructor's free spring concept lecture on Inflearn and liked it so much that I decided to take the class. I also took the instructor's metacoding YouTube and easyup class. For reference, I think it would be helpful for others to take the easyup class JPA lecture. In the easyup class, the lecture is given using JPA Eclipse, and I learned a lot of things I didn't know, which was good. The voice is calm and nice, and the principle and concept are explained calmly and well. I also look forward to more in-depth parts related to spring. JPA intermediate/advanced, concurrency control (lock), parallel processing, batch, excel file processing, email transmission, remote control, etc. I look forward to good lectures in the future. I support you. Always stay healthy and happy^^

      • metacoding
        지식공유자

        Thank you. Since this is your first comment, I will give you a free coupon if you come out with a lecture. Please let me know.

    • leejinwoo1126님의 프로필 이미지
      leejinwoo1126

      수강평 22

      평균 평점 5.0

      5

      100% 수강 후 작성

      If you want to learn JUnit5 testing while creating an application, I recommend this course. After working at two companies that didn't write test code, I set a goal of joining the next company that writes test code. However, I found out about this course when I was at a loss as to how to write test code, and thanks to following it diligently, I was able to become proficient in testing each layer. In the case of other JUnit courses, there were many cases where learning tests were done for API methods, but this course was good because I could practice like in the real world. Thank you. **Note. If you learn the basic test methods for JUnit5 and take this course, you will gain momentum.

      • metacoding
        지식공유자

        Thank you for the detailed review!!

    • cristiano님의 프로필 이미지
      cristiano

      수강평 12

      평균 평점 5.0

      5

      100% 수강 후 작성

      I used to take the teacher's training at the government expense in the past, and he taught me so well that I paid for many lectures in addition to the security lecture, which was really helpful.

      • iih9075948님의 프로필 이미지
        iih9075948

        수강평 9

        평균 평점 5.0

        5

        100% 수강 후 작성

        Recently, I had to apply JWT to my work, and thanks to you, I was able to apply it well and get good results. Thank you!!

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!

        ₩39,600