일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- annotation
- query
- 도메인
- DynamoDB
- filterexpression
- testresttemplate
- Spring
- 테스트코드
- markerinterface
- 다이나모디비
- Springsecurity
- secondaryindex
- awscloud
- Route53
- javaspring
- compositekey
- 오류
- AWS
- awscli
- IdClass
- 스프링테스트
- Java
- 자바
- EmbeddedId
- 스프링
- 자바스프링
- MockMvc
- partiql
- 개발
- 로드밸런서
- Today
- Total
목록개발/Spring (13)
아장아장 개발 일기
MockMvc 테스트 기본 소스 @AutoConfigureMockMvc @SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.MOCK) @RunWith(SpringRunner.class) @ActiveProfiles("dev") public class TestControllerTest extends TestCase { @Autowired private MockMvc mockMvc; @AutoConfigurationMockMvc : mockMvc 의존성 주입을 위한 어노테이션이며, 해당 어노테이션이 없으면 MockMvc가 자동 의존성 주입되지 않고 nullPointException 발생. @ActiveProfiles(”dev”) : 프로젝트에 app..
mvc 구조로 이뤄진 프로젝트의 경우 mockMvc 템플릿을 사용해 테스트를 진행할 수 있습니다. mockMvc를 사용하기 전에 TestRestTemplate을 사용해 테스트를 시도했는데 spring security config때문에 로그인 페이지에서 302 에러가 표시되었습니다. 정확히 스프링 시큐리티의 httpSecurity configure의 loginform과 antMatcher로 권한 필터링하는 소스가 테스트하려는 소스로의 진입을 막는 것으로 파악했습니다. 이는 mockMvc 템플릿의 @WithMockUser, @WithUserDetails등의 어노테이션을 사용해 해결될 수 있습니다. 그렇다면 여기서 ‘TestRestTemplate을 @WithMockUser 혹은 @WithUserDetails와..
리서치 동기 엔티티를 Builder 어노테이션을 통해 생성하는데, 한 필드의 기본값을 false로 설정할 필요가 있어 리서치 후 소스에 적용했다. 기존 다른 객체를 저장할때는 build를 사용하지 않았고, build를 사용하지 않는 경우에는 ColumnDefault 어노테이션을 통해 디폴트 값을 설정 할 수 있었다. 리서치 내용 builder로 생성하는 객체의 초기값 설정에는 크게 세가지 방법이 있다. 세가지 모두 고유의 단점이 있으므로, 필요에 맞게 선택 사용 해야한다. 1. @Builder.Default 어노테이션 사용 public class Test { @Builder.Default private Boolean isAvailable = false; // 단점 : new Test()를 생성하면 isA..