1. Bootstrap4는 3버전과 비교하면 많은 부분이 변경되었다. 특히 has-error, help-block이 삭제되었다. 2. 아래의 예시에서 중요한 부분은 아래 부분인데 2-1 컨트롤러의 ResultBiding에 담은 에러가 #fields로 연결되어 #fields.hasErrors로 체크할 수 있다. 2-1-1 '*' 은 어떤 경우라도 에러가 존재하는 경우를 찾기 위한 것이다. 2-1-2 pb-0는 부트스트랩 4 alert의 bottom padding 1rem으로 잡혀있어서 제거해주는 것이 보기 좋다. 2-2 개별적으로 에러를 처리하는 부분인데 2-2-1 2-1과 동일하게 fields.hasErrors로 체크할 수 있는데 특정한 속성을 넣어서 체크할 수 있다. 2-2-2 th:class의 경우는..
1. 아래의 코드는 JUnit 4를 기반한 코드이다. 2. 통합 테스트의 경우 실제 컨텍스트가 필요하기 때문에 @SpringBootTest가 필요하다. 2-1 @RunWith만으로는 전체 스프링 컨텍스트가 기동하지 않기 때문에 Service가 주입되지 않는다. 3. 테스트 컨텍스트를 기동하기 위하여 @RunWith(SpringRunner.class) 가 필요하다. 3-1 없으면 테스트용 컨텍스트가 생성되지 않아 기동 자체가 되지 않는다. 4. testSaveOfDescpriton 테스트의 @Transactional은 필수다. 4-1 없는 경우, 스프링 컨텍스트 밖에서 실행하므로 Session을 찾을 수가 없다. package pe.pilseong.recipe.service; import static or..
1. maven 은 webjar을 지원하고 있는데, bootstrap과 jquery가 가장 많이 사용된다. 2. boostrap maven import를 찾아보면 아래의 코드가 들어가는데 mav repository에서 dependency를 찾아보면 2-1 아래와 같이 bootstrap이 jqeury와 popper가 의존하고 있음을 알 수 있다. 2-2 둘다 자동으로 dependency가 추가되어 별도의 webjar을 받을 필요가 없다. 2-3 받는다고 하더라도 version은 설정하지 않는 것이 좋다. 2-4 사용 전에 항상 의존성을 확인하여 어떤 버전을 사용하는지 확인 후 html에 반영해야 한다. org.webjars bootstrap 4.5.0 2-4 실제 의존 구조 캡처 3. pom 파일 4.0...
1. JUnit 5가 되면 @RunWith 대신 @ExtendWith를 가지고 특정 기능만 활성화하여 테스트 할 수 있다. 2. Controller 테스트 방법은 MockMvc을 사용하면 좀 더 편리하다. 2-0 Mock fixture의 초기화는 MockitoAnnotations.initMocks(this), @ExtendWith 둘 중 하나를 쓸 수 있다. 2-0-1 아래는 initMocks을 사용하였다. @ExtendWith를 사용하면 자동으로 initMocks 호출을 포함한다. 2-1 물론 MockMvc를 사용하지 않고도 테스트는 가능하다. 2-2 MockMvc를 사용하게 되면 특정 url의 호출을 시뮬레이션할 수 있고 결과를 한번에 체크 가능하다. 2-3 아래의 listOwners 메소드는 Moc..
1. 현재 스프링 최신버전은 2.3.2이다. 현재 버전에서는 아래처럼 기본적으로 JUnit 5만 import된다. 1-1 exclusions 부분이 있어 vintage를 걷어내도록 하고 있는데 exclusions이 부분을 삭제하면 JUnit 4가 import 된다. ... org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine org.springframework.boot spring-boot-maven-plugin 2. 버전이 2.1 이전의 경우 JUnit 5를 사용하기 위해서는 기존의 JUnit 4을 제거하고 JUnit 5를 삽입하는 부분이 필요하다. org.springframework.bo..
1. 메이븐의 spring-boot-maven-plugin은 기본적으로 surefire 플러그인을 사용하여 유닛테스트만 수행한다. 2. Integration Test는 시간이 많이 걸리고 시스템의 부하도 크기 때문에 Unit 테스트를 통과한 경우에만 수행해야 한다. 3. 통합 테스트를 위해서는 maven-failsafe-plugin을 설정해 주어야 한다. 3-1 설정 후에 verify goal을 통해 실행가능하고 한번에 surefire로 unit테스트 수행 후 통합테스트를 순차로 실행한다. 4. 아래는 전체 pom.xml 4-1 starter-test가 두개로 나누어져 있는데 스프링부트 최신버전은 JUnit5를 기본으로 사용하는데 4-1-1 최근 포스트에는 JUnit 4를 가지고 코드를 작성하였기 때문에..
1. 이 포스트는 JUnit 4 버전으로 작성되었다. 2. Integration Test를 위해서는 Application Context를 생성하여 한다. 2-1 이것을 위해 @RunWith라는 annotation으로 테스트를 수행하는 지정된 클래스를 실행하게 된다. 2-2 테스트를 위한 간단한 Context를 실행한다고 생각할 수 있고, 보통 JUnit 4에서는 SpringRunner.class가 지정된다. 2-3 SpringRunner.class는 이전에 SpringJUnit4ClassRunner의 이름만 바꾼거다. 3. JPA 테스트를 위하여 @DataJpaTest라는 것이 제공된다. 3-1 내부적으로는 auto-configuration이 모두 disable되고 JPA테스트와 관련된 부분만 활성화 된..
0. JUint 4 기반의 테스트 코드이다. 1. MockMvc는 Web MVC Controller를 테스트 위해 만들어진 Unit Test용 클래스이다. 1-1 MockServletContext를 로딩하여 전체 application context 만들지 않고도 테스트 할 수 있게 해준다. 1-2 아래 코드에서 중요한 부분은 testMockMvc 메소드이다. 1-3 특정한 컨트롤러를 테스트할 수 있도록 도와주는 MockMvcBuilders를 제공한다. 1-4 perform 메소드를 통해 해당 컨트롤러의 메소드를 실행할 수 있고 1-5. MockMvcRequestBuilders, MockMvcResultMatchers의 get, status, view 메소드를 사용하여 상태를 확인한다. 1-6. get은 ..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib