JSP - 22. JUnit 단위테스트

갓김치·2020년 12월 17일
0

JSP+Spring

목록 보기
23/43

복습

의존관계

  • 생성자로 객체생성하는 의존관계는 결합력을 높임
  • Dependecy Injection으로 결합력을 낮추자
    • CookieUtils.java

DAO <-> DB

  • 데이터 획득을 위해 실행되는 코드는 쿼리 빼고는 모두 같음
  • IBATIS, MYBATIS

프레임워크 <-> 라이브러리

  • Inversion of Control(제어의 역전) 패턴 적용이 되어있으면 프레임워크
    • 라이브러리는 코드의 일부분 (ex. isBlank), 어플리케이션의 구조에 영향x
    • 프레임워크 사용을 하기위해 어플리케이션이 프레임워크의 룰을 따라야함
      • 설정파일만들고 까다롭게 사용해야됨
      • 개발자가 따라야할 룰이 많음
      • 주도권이 프레임워크 자체에 있음
  • 필요한 객체를 나에게 넣어주느냐? 아니면 내가 만들어서 쓰느냐?
    • ibatis: 쿼

Dependency Injection

  • Gang of Four: Martin Fowler

예시

  • tiles 사용시 definition등록을 tiles.xml에 설정
  • 하지만 설정에서 끝이 아닌 타일즈가 우리에게 필요한 객체를 대신 만들어서 넣어주는 것 = 의존성 주입



ibatis

SqlMapper

  • SqlMapClient.xml: 커넥션 생성, 쿼리객체 생성 (설정값)
  • member.xml, code.xml...: 쿼리문을 가진 xml
    • 쿼리문으로 쿼리객체를 만들어 쿼리맵을 만들어 운영, 개발자는 쿼리맵에서 쿼리 id로 쿼리객체를 꺼내씀

DataMapper ≒ ORM

  • resultClass에 object 등록해놓음으로써 vo에 쿼리 결과를 셋팅

회원관리


JUnit

  • hamcrest로 sysout 대신 테스트

  • Name: 원래클래스명+Test
    • ex) ResidentControllerTest
  • Generate comments: 체크해제 (불필요한 doc주석 생김)
  • Class under test: browse 하여 테스트 원하는 클래스 선택
  • next 클릭
  • 테스트 원하는 메서드 클릭하면 자동으로 생성해줌
  • 원하는것만 선택후 추후에 만들면 됨

빌드패스오류뜨는 경우

서블릿 테스트 - mock 객체

  • 스프링에서 mock 객체 지원해줌
  • 나중에 배울거엥용

data 속성

jQuery의 data는 객체의 타입을 유지할 수 있음

profile
갈 길이 멀다

0개의 댓글