테스트코드 2

외부로부터 의존하지 않는 테스트 ... OAuth 로그인 테스트도 할 수 있다! (WireMock)

안녕하세요. 저는 개인 프로젝트에서 OAuth를 이용해 로그인을 구현하고 있습니다. OAuth를 구현하고 테스트를 통해 OAuth 로그인의 동작을 확인하고자 했는데, 이때 OAuth API 서버와의 테스트를 어떻게 해야 하나 고민이었습니다. 고민한 결과 OAuth API 서버와 통신하여 테스트하거나, 해당 API 서버를 목으로 대체하여 데이터를 확인하는 방법이 있겠다는 생각을 했고, 또한 Postman과 같은 API 도구를 이용하여 테스트해 볼 수도 있었습니다. 하지만 OAuth 로그인을 테스트하기 위해 매번 Spring 서버를 띄워서 Postman에서 확인하는 건 비효율적이며 실제 OAuth API 서버와 통신하여 테스트하고자 한다면 API 서버는 제가 제어할 수 있는 대상이 아니기에 외부적인 요인으로..

테스트코드 2023.03.07

여러 개의 파라미터를 이용한 JUnit 테스트 @ParameterizedTest, @MethodSource

알고리즘을 풀 때 단위 테스트를 통해 매 실행시 케이스 입력의 귀찮음을 최소화하고자 했습니다. @ParameterizedTest - @ParameterizedTest 어노테이션을 사용하여 여러 개의 파라미터를 하나의 테스트를 통해 확인할 수 있습니다 - @Test 어노테이션 대신 @ParameterizedTest를 명시해주면 됩니다 - @ParameterzedTest를 사용하기 위해서는 하나 이상의 Source 어노테이션을 붙여줘야합니다 - Source 어노테이션에는 @ValueSource, @MethodSource, @NullSource, @EmptySource 등등이 있습니다 @MethodSource 저는 2차원 배열의 케이스를 입력하고자 @MethodSource 어노테이션을 사용하게 됐습니다. - ..

테스트코드 2022.08.09