4D4cat) 네이버 로그인 연동을 위한 MVC 테스트 1

🔔 MVC Test 코드 작성 네이버 연동 페이지에 접근이 잘 되는가? LoginController.java @Controller @RequiredArgsConstructor @RequestMapping("/login") public class LoginController { private final NaverLoginService naverLoginService; @GetMapping("/naver") public void naverLogin(HttpServletResponse response) throws IOException { response.sendRedirect(naverLoginService.getNaverOauth2LoginUrl()); } } naverLogin {URL}/login/naver로 접근하면 Naver 로그인 인증을 위한 페이지로 이동된다. 리다이렉트 URL은 naverLoginService에서 받는다. NaverLoginService.java @Service @RequiredArgsConstructor public class NaverLoginService { private static final String BASE_URL = "https://nid.naver.com/oauth2.0"; private final AppProperties app; private final ThirdPartyProperties secrets; public String getNaverOauth2LoginUrl() { String authorizeUrl = BASE_URL+"/authorize"; String callbackUrl = getServiceUrl()+"/login/naver/callback"; return UriComponentsBuilder .fromHttpUrl(authorizeUrl) .queryParam("response_type", "code") .queryParam("client_id", secrets.naver().naverId()) .queryParam("redirect_uri", callbackUrl) .queryParam("state", "random") .toUriString(); } public String getServiceUrl() { return app.serviceUrl(); } } AppProperties 현재는 도메인 URL만 세팅되어 있다. ...

December 23, 2024 22:33 · 2 min · 303 words · nakji

테스트 도구는 어떤게 있을까?

🔔 테스트 도구 JUnit, Mockito 🔔 테스트 시나리오 작성, GWT JUnit @Test 해당 메서드가 테스트 메서드임을 나타냅니다. @Test void myTest() { /* 테스트 로직 */ } @BeforeEach 각 테스트 메서드가 실행되기 전에 실행되는 메서드를 지정합니다. @BeforeEach void setUp() { /* 초기화 로직 */ } @AfterEach 각 테스트 메서드가 실행된 후에 실행되는 메서드를 지정합니다. @AfterEach void tearDown() { /* 정리 로직 */ } @BeforeAll 모든 테스트 메서드가 실행되기 전에 한 번만 실행되는 메서드를 지정합니다. 정적 메서드이어야 합니다. ...

December 18, 2024 12:13 · 3 min · 477 words · nakji

테스트는 어떻게 하는게 좋을까?

🔔 테스트 방법 테스트 방법 새로운 기능을 개발하거나 수정할 때, 내가 원하는 시나리오대로 동작을 하는지 검증하는 과정은 필요하다. 그것을 위해 테스트 과정이 있고 원하는 상황에 원하는 결과가 나오는지 판단해봐야 한다. 어디까지 테스트를 해야하는지는 각 상황마다 다르겠지만 내가 이전 회사에서 테스트할 때 꼭 확인했던 부분은 아래와 같다. 브라우저 환경(Chrome, Edge, IE 등) 운영/개발 환경 로그인/비로그인 위 항목을 포함하여 상황별 테스트 케이스를 작성하고 테스트를 했었지만 효율적인 테스트 코드를 작성한 것이 아니었다. dev 서버는 해당 서버에 소스를 올린 후에 테스트했었는데 하나라도 잘못된 결과가 나오면 다시 재커밋 후 테스트를 진행했다. 로컬도 마찬가지이지만 이처럼 테스트 코드를 작성하면서 테스트하는 환경이 아니었기 때문에 검증 과정이 불편했다. ...

December 15, 2024 23:32 · 2 min · 246 words · nakji