본문 바로가기

별밤 일지/개발19

[Springboot] Test With Mockito, JUnit 오늘은 SpringBoot 프로젝트의 Service, 로직 단 테스트 코드 작성 방법을 작성하려고 한다. ▶︎ JUnit Java에서 독립된 단위테스트를 지원해 주는 프레임워크 Junit에서 지원하는 유용한 Annotation들 @Test : 각 테스트가 독립된 UnitTest로 작동할 수 있게 해준다. 각 유닛테스트 단위에 붙이면 된다. @BeforeEach : 각 테스트 실행 전에 실행된다. 모든 테스트에 공통으로 Stubbing을 해야 하는 경우에 사용 @Before : 모든 테스트 실행 전에 1번 실행된다. @After : 모든 테스트가 끝난 후 실행된다. 테스트 종료 후에 정리해야 할 데이터가 있는 경우 사용 @AfterEach : 각 테스트 종료 후에 한 번 실행된다. ▶︎ Mockito 자바.. 2024. 3. 5.
[Android.hardware.Sensor] 안드로이드 Sensor를 활용하여 방위각, 고도 구하기 개요 및 설명 Android는 핸드폰 내부에 존재하는 Sensor를 통해 현재 위치, 가속도, 방향 등을 감지한다. Android studio의 SensorManager를 통해 이 정보들을 가져와서 사용할 수 있고, 다듬어서 원하는 정보로 변형도 가능하다. 예를 들어 가속도와 자기장 센서를 활용하여 나침반을 구현할 수 있다. 별 헤는 밤 앱은 별자리 관광 애플리케이션이지만 별 관측에 직접적으로 도움을 줄 수 있는 서비스가 부족했었다. 그래서 이번 업데이트 때 이 센서 정보를 활용하여 별자리의 방위각과 고도를 찾아줄 수 있는 기능을 추가하기로 했다! 이때 별자리의 고도와 핸드폰의 기울기로 비교해야 하므로 정확히 말하면 핸드폰의 기울기를 구한다고 하는 것이 올바른 표현이다. 직접적으로 방위각과 고도를 계산하.. 2024. 2. 20.
[Spring] Logback 을 활용한 로깅하기 로그의 중요성 아래는 우리가 스프링부트를 실행하면 흔히 볼 수 있는 것이다. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.5.2) 2024-01-28 22:19:06.122 INFO 11216 --- [ main] c.s.t.TourApiProjectApplication : Starting TourApiProjectApplicat.. 2024. 1. 30.
[QueryDSL] queryDSL 도입기 저번에 사용했던 JPA Specification에 이어서 이번에는 QueryDSL을 도입해 보려고 합니다. ▶ QueryDSL 자바 코드로 SQL과 같은 쿼리를 생성해 주는 프레임워크로 기본적으로 @Entity로 등록된 클래스들을 Q클래스로 생성해 사용합니다. JPA를 사용하다 쿼리가 복잡해질 때는 JPQL을 사용하거나 저번에 소개한 Specification을 사용할 수 있습니다. 하지만 다음과 같은 장점 때문에 QueryDSL을 많이 사용합니다. java 코드로 가독성 좋은 쿼리 조건 작성 컴파일 시점에 문법 오류 발견 가능 자동완성 편리 동적인 쿼리 작성 가능 (BoleanBuilder, BooleanExpression 활용) 결국 자바로 작성하기 때문에 작성 중에 IDE에서 컴파일 오류를 잡아줄 뿐.. 2024. 1. 28.