본문 바로가기
반응형

분류 전체보기383

[springboot] @valid 테스트하기(Controller에 입력되는 객체 테스트) Controller 에서 Valid를 사용하고 있는데 잘 작동하는지 확인하고 싶은데 확인할 방법이 없었다. 그러다 방법을 찾게되서 정리. 테스트 방법은 두가지가 있다. 1) Validator 를 주입받아 체크하는 방법 2) WebMvcTest와 MockMvc 를 이용해 호출하여 체크하는 방법 각각의 방법에 차이점이 있는데, 2번의 경우 ControllerAdvice를 이용해 Exception을 핸들링하는 경우 전자방법보다 정해진 틀에 맞춰 테스트를 해야한다. Valid에 맞지 않는 것을 배열에 담아 리턴하는데, 내 경우엔 화면에 보여질 걸 생각해서 ExceptionHandler에서 1개의 메세지만 추려 리턴한다. 때문에 Assertion를 할때 내가 예상하는 문구가 나오지 않을 수 있다. 혹은 에러케이스.. 2020. 8. 18.
[junit5] Mock을 이용한 단위 테스트 (@InjectMocks 과 @Mock 차이) Mockito를 이용하면 좀더 작은 단위까지 테스트가 가능하다. 무엇보다 데이터를 컨트롤해야하는 상황에서 DB연결없이 임의로 주고받을 수 있기 때문에 유용하다. 이번에는 그 테스트에 관한 내용과 각 어노테이션의 사용법에 대해 나열한다. 그럼 한번 시작해보자. 테스트 편의성을 위해 Lombok을 사용했다. 다음과 같이 Member 엔터티가 있다. @Entity @Table(name = "Member") @Getter @ToString @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Member { @Id @GeneratedValue private Long id; @Column(name = "name") private String name; .. 2020. 8. 13.
[gradle] 외부 jar파일 추가하기 libs 폴더에 다음과 같이 파일을 추가한다 root 폴더에 넣는다(src와 같은 레벨 위치) build.gradle 파일을 열어 다음과 같이 추가한다. dependencies { ... compile files("libs/ksnet/kspg_eclient.jar") compile files("libs/ksnet/kspg_m1000.jar") ... } 혹시 다음과 같이 에러가 난다면 오타를 확인하자 내 경우 compile file 이라고 써서 에러가 났다 A problem occurred evaluating root project 'kinspayconnector'. > Cannot convert the provided notation to an object of type Dependency: /User.. 2020. 8. 11.
[springboot] ControllerAdvice를 이용해 정해진 폼으로 리턴하기 API서버를 통해 데이터를 주고받을 때 정해진 규격으로 전달하는 것은 중요하다. 그래야 요청하는 쪽에서도 그 폼을 기준으로 개발할 것이기 때문이다. 그런데 의외로 이것을 많이 간과하고 넘어가는 경우가 있다. Controller 안에 들어온 후에는 결과 폼을 지정해서 내보내는건 규칙적으로 한다. 그런데 Contoller로 진입하지 못하고 실패했을 때는 Spring의 기본 form에 맞춰서 리턴되는 경우가 있다. 예를들면 다음과 같은 경우다 Controller에 접속하고 난 후의 결과 format { "resultCode": "SUCCESS", "resultMsg": "정상" } 진입에 실패한 후의 format (trace는 내용이 너무 길어 생략) { "timestamp": "2020-08-04T23:04.. 2020. 8. 6.
[aws] Jenkins + CodeDeploy 로 로드밸런스 환경 자동배포하기 이전 글에서는 Jenkins와 CodeDeploy를 이용해 배포를 하긴 했지만 수동배포를 포스팅 했었다. 이번에는 jenkins 플러그인 중 하나인 Deploy an application to AWS CodeDeploy를 이용해 자동 배포하는 방법에 대해 알아보려 한다. 이전글: https://lemontia.tistory.com/945 [aws] Jenkins + S3 + CodeDeploy 를 이용해 배포하기(수동배포) 이번에는 Jenkins를 이용해 Build & Test를 진행하고 완성된 파일을 S3에 올린 후 CodeDeploy를 이용해 배포하는 방법을 알아보겠다. 이번 설정은 S3에 올리는 것을 jenkins에 설정했고, CodeDeploy는 AWS 콘솔을 lemontia.tistory.com.. 2020. 8. 4.
[aws] CodeDeploy 를 이용해 로드밸런서 환경에서 배포하기 이전글을 참고하시면 본 내용을 이해는데 도움이 됩니다. https://lemontia.tistory.com/945 [aws] Jenkins + S3 + CodeDeploy 를 이용해 배포하기 이번에는 Jenkins를 이용해 Build & Test를 진행하고 완성된 파일을 S3에 올린 후 CodeDeploy를 이용해 배포하는 방법을 알아보겠다. 이번 설정은 S3에 올리는 것을 jenkins에 설정했고, CodeDeploy는 AWS 콘솔을 lemontia.tistory.com 이번 포스팅은 이전 포스팅의 연결되며, 사전설정이 다음과 같이 되어있음을 가정한다. 1) AMI 역할 생성 및 권한 부여 2) EC2 2대 이상 가동 3) 가동중인 애플리케이션이 healthcheck가 가능한 상태(로드밸런서 설정 시 .. 2020. 7. 23.
반응형