테스트 하기 어려운 코드! 어떻게 해야하지?(랜덤에 대한 테스트)
·
Software Engineering
프리코스 2주차 미션부터는 각 기능에 대한 테스트 코드를 작성해야 했다. 이에 따라 JUnit5와 AssertJ를 학습하고, TDD를 적용해보려 노력했다. 사실 이 라이브러리를 학습하고, 테스트 코드를 작성하는 것만해도 그리 쉬운일이 아니었다. 그래도 다른 분들의 야구게임 코드를 리뷰하면서 잘 작성하신 테스트 코드를 많이 보았기 때문에, 테스트 코드를 작성하는 방법 자체는 빠르게 학습할 수 있었다. (목객체 만들어서 테스트 코드도 작성하시던데 이건 아직 어떻게 하는건지 잘 모르겠다 ㅠㅠ) 하지만 정말정말 어려웠던 부분은 테스트 라이브러리 자체가 아니라, 랜덤에 대한 테스트였다. 자동차가 움직일지 결정하기 위해서는 랜덤으로 숫자를 선택해야 하는데, 이 랜덤 숫자에 대한 단위 테스트가 어려웠기 때문이다. 여..
테스트 코드 그게 뭔데? 중요한거야?(feat. TDD)
·
Software Engineering
1학기에 소프트웨어 공학 수업을 들으며 테스트 코드를 짜는게 중요하다는 말은 많이 들어보았다. 하지만 실제로 개발을 하면서 테스트 코드를 짜본적이 한번도 없다. 이 글을 통해 테스트 코드 작성의 중요성을 이해하고, 작성에 대한 동기를 얻어보자!! 먼저는 장점에 대해 조금더 자세하게 살펴보기 전에 아주 살짝 TDD(Test-Driven Development)가 무엇인지 알아보자. TDD가 뭔지 처음 들어본다면 이것이 무엇인지 알아 본 뒤에 이 글을 읽어보는 걸 추천한다! 이 글의 내용이 결국 TDD의 장점에 대한 내용이기 때문이다. TDD는 테스팅과 코드 개발을 혼합시키는(interleaved) 개발 접근법이다. 즉 개발을 하면서 테스팅이 동시에 일어나는 접근법을 말한다. 이때 중요한 점은 테스트 코드가 ..