junit Rules

단위 테스트를 만드는 것은 좋다. 버그를 쉽게 찾을 수 있을 뿐더러 코트를 리팩토링 할 때에도 좀 더 효과적으로 할 수 있다. 하지만 완벽하게 단위테스트 케이스를 만들기는 쉽지 않다. 시간이 부족할 수도 있고, 빠진 케이스도 있을 수 있고.. 솔직히 만들기 귀찮아서 안만들 경우도 있을 것이다. 또 다른 이유는 어떻게 테스트를 만들까 하는 고민도 있을 수 있다. 일반적은 Spring mvc(필자가 자주 사용하므로) 경우에는 패턴이 딱 정해져있다. Controller Service, Repository(DAO) 등 기본적인 테스트는.. Read More

Mockito 이용해서 Test를 해보자

필자는 예전에는 SI 시절에는 테스트 케이스를 전혀 작성하지 못했다. 물론 핑계일 수도 있지만 테스트까지 만들 시간적 여유가 없었던건지 아니면 주변 환경 때문인지는 모르겠지만 아무튼 테스트를 전혀 작성하지 못했다. 하지만 지금 회사에서는 되도록이면 테스트 케이스를 만들려고 노력중이다. 물론 빌드 배포 할 때 조금 시간이 걸리긴 하지만 그만큼 필요한 시간이라고도 생각한다. 근데 시간에 점차 지나고 유지보수를 하면서 테스트 케이스 작성도 소홀해져가는건 사실이다. 그만큼 꾸준한 노력이 필요하다. TDD 같은 경우에는 테스트부터 작성한다고 하는데.. Read More

junit5 맛만 보기

junit5가 아직 릴리즈는 안되었지만 조만간 될듯 싶다. 그래서 중요 내용보다는 바뀐 부분을 살짝 알아보자. 일단 패키지명이 바뀌었다. 또한 메이븐의 GroupId와 ArtifactID도 바뀌었다. 문서를 보면 더 자세히 알 수 있다. <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <version>${junit.vintage.version}</version> <scope>test</scope> </dependency> </dependencies> junit5만 쓴다면 위에 jupiter만 쓰면 되는데 필자는 테스트를 위해 vintage까지 넣었다. vintage는 기존의 junit4가 포함되어 있다. 아직 상세하기 보진 않아서 그런것만 같다. public class Junit4Test { public.. Read More