728x90
반응형
@ModelAttribute
- 컨트롤러 메서드의 파라미터를 바인딩하고, 뷰로 전달할 객체 설정
- 클라이언트 요청 데이터를 객체로 매핑한다.
//요청 데이터: /register?name=John&age=30 @PostMapping("/register") fun registerUser(@ModelAttribute user: User): String { println("User: $user") return "success" } //바인딩된 객체 User(name = "John", age = 30)
@JvmStatic
- 정적 메서드처럼 호출 가능하게 만들어주는 어노테이션
- JUnit5 의 @BeforeAll, @AfterAll 은 정적 메서드로 선언해야 한다.
(@BeforeAll / @AfterAll) vs 객체 직접 생성
객체를 직접 생성하는 경우
- 테스트 실행 순서와 관계없이 독립적으로 동작한다.
- 테스트 클래스 내부에서만 유효하고, 테스트 간 리소스를 공유하지 않는다.
- 테스트 클래스가 여러 번 실행되거나 객체 생성 비용이 큰 경우 비효율적이다.
테스트 전후 처리를 하는 경우
- 초기화된 객체는 모든 테스트에서 공유되고, 동일 객체를 사용하므로 일관성을 유지할 수 있다.
- 초기화 비용이 큰 작업을 한 번만 수행하므로 효율적이다.
- 테스트 초기화와 정리 작업이 명확히 분리되어 가독성과 유지보수성이 높아진다.
Kotest / JUnit 5 의 @BeforeAll, @AfterAll 차이점
- 라이프사이클 관리 방식과 동작 컨텍스트의 차이
- Kotest
- Spec-level (전체 테스트의 시작과 끝): beforeSpec, afterSpec
- Test-level (각 테스트의 실행 전후): beforeTest, afterTest
728x90
반응형
'Blog > TIL' 카테고리의 다른 글
2025-01-08 (수) (0) | 2025.01.08 |
---|---|
2025-01-07 (화) (0) | 2025.01.07 |
[240907] 이진법 (0) | 2024.09.07 |
[240906] 우선 순위 큐 (PriorityQueue) (0) | 2024.09.06 |
[240905] 코딩 테스트 풀이 (0) | 2024.09.05 |
댓글