Test

· Spring
sql 파일로 더미 데이터를 생성하던 중 이런 리뷰를 받았습니다.production, test 모두 실제 데이터를 쿼리로 넣는 것은 좋은 방법은 아닐 것 같습니다!이렇게 쿼리로 작성하면 어떤 문제가 있을까요? 쿼리로 데이터를 넣었던 이유는 쉽고 빠르기 때문이었습니다.그러나, 왜 좋은 방법이 아닐까요? '비즈니스 로직을 타지 않는다'는 점입니다. 직접 쿼리로 데이터를 넣으면 테이블에 걸려 있는 제약 조건 외에는 검증이 되지 않아, 데이터의 신뢰성이 떨어질 수 있습니다.데이터 무결성과 정합성도 보장할 수 없습니다. varchar로 정의된 날짜 칼럼에 "abc" 같은 문자열이 들어갈 수도 있을 것이고, 외래키 제약이 걸려 있지 않다면 존재하지 않는 id를 참조하게 될 수도 있을 것입니다. 비즈니스 로직을 잘 ..
· Java
상태를 유지하며 일련의 시나리오를 테스트하고 싶으시다면 Junit의 DynamicTest를 활용해 보시면 좋을 것 같습니다. 지금처럼 상태를 공유하는 단위테스트는 지양하시는 것이 좋습니다. 체스 미션을 하면서 받았던 피드백입니다. 상태를 공유한다는 의미는 무엇일까? 시나리오 테스트는 무엇이고, DynamicTest는 어떻게 할 수 있을까? 코드를 수정해가며 알아보겠습니다! Bad 우선 문제의(?) 테스트 코드의 일부입니다. 게임의 상태 `GameStatus`를 전역변수로 공유하여 사용하고 있습니다. GameStatus gameStatus; // 상태를 공유하는 부분 Board board = new InitialBoardFactory().generate(); @BeforeEach void setUp() {..
_JoJo
'Test' 태그의 글 목록