코틀린에서 테스트코드를 처음 작성하시는 분들을 위한 JUnit 5 단위테스트 작성법을 설명드리려고 합니다. 테스트코드가 익숙지 않으신 분들도 이해하실 수 있게 최대한 쉽게 설명하려고 합니다. 테스트코드가 아예 처음이시라면 저의 이전 포스팅인 코틀린에서 JUnit 5를 사용해 테스트코드 작성하기를 꼭 읽고 와주세요! 1. 단위테스트란?단위테스트란, 프로그램 전체를 테스트하는 것이 아닌 독립된 작은 단위의 기능만을 테스트하는 것을 말합니다. 테스트가 익숙하지 않으신 분들이라면 이 말이 바로 이해가 되지 않으실 겁니다. 예시 코드를 보면서 설명해 보겠습니다. 객체를 하나 정의해 보도록 하죠.class Car(val name: String, speed: Int) { var position: Int = 0 ..
저번에 코틀린에서 JUnit 5 사용하기 포스팅을 올렸는데요, 일반적으로 테스트코드를 작성할 때 테스팅 프레임워크로 JUnit 5만 사용하지 않습니다. AssertJ라는 라이브러리를 추가로 사용하게 되는데요! AssertJ는 테스트코드의 단언문을 보다 가독성 있게 작성할 수 있도록 도와주는 라이브러리입니다. 이번 포스팅에서는 왜 JUnit 5를 쓰면서 AssertJ도 함께 써야 하는지 알아보겠습니다.아직 JUnit 5와 테스트코드를 잘 알지 못하시는 분들은 위의 링크로 이전 포스팅을 꼭 읽고 오시길 권장드릴게요! 1. AssertJ 없이 단언문 작성해보기AssertJ를 사용하지 않아도 단언문 작성이 불가능한 것은 아닙니다. JUnit 5에서 제공하는 단언 함수가 존재합니다. 한 번 볼까요?import o..
객체지향 설계를 효과적으로 하기 위해 제안된 다섯가지 원칙이 존재합니다. 코드의 유지보수성과 확장성을 높이기 위한 원칙이죠. SOLID는 각 원칙의 첫 글자를 딴 약어입니다. 하나씩 개별 포스팅을 통해 정리해 나가려고 합니다. 이 글에서는 개념만 간략히 설명하도록 할게요!1. 단일 책임 원칙 (SRP, Single Responsibility Principle)하나의 객체는 하나의 책임만 가져야 한다는 원칙입니다. 이는 어떤 변경이 발생했을 때 클래스를 변경할 이유는 단 하나여야 한다는 뜻입니다. 2. 개방-폐쇄 원칙 (OCP, Open-Cloesd Principle)소프트웨어는 확장에는 열려있고, 변경에는 닫혀 있어야 한다는 원칙입니다. 이는 기존의 코드를 변경하지 않고도 새로운 기능을 확장할 수 있어야..
최근에 봤던 회사의 기술면접에서 리스코프 치환 원칙에 대해서 물어보았습니다. 리스코프 치환 원칙이 무엇인지 대강은 알고 있었지만 막상 설명하려니 잘 나오지가 않더군요.. 게다가 그것을 위반한 코드의 예시와 그 코드를 올바르게 수정하려면 어떻게 해야 하느냐는 질문에 잘 답변하지 못했습니다 ㅠㅠ 이번 포스팅에서는 리스코프 치환 원칙에 대해서 제대로 공부도 할 겸 정리해 보려고 합니다. SOLID원칙을 정리해 둔 블로그들을 보면 보통 자바로 정리되어 있는 경우가 많은데, 제 글이 코틀린을 주로 사용하시는 개발자 분들에게 도움이 되었으면 합니다. 1. 리스코프 치환 원칙이란?리스코프 치환 원칙(LSP, Liscov Substitution Principle)은 객체지향 프로그래밍의 5원칙인 SOLID원칙 중 하나..
이번 포스팅에서는 JUnit 5를 사용해 코틀린에서 테스트코드를 어떻게 작성하는지 알아보겠습니다. 저는 재작년 우테코 6기 프리코스를 할 때 테스트코드라는 것을 처음 알게 되었고, 작성해 보았는데요! 난생처음 작성해 보는 데다 관련 정보가 많지 않아서 테스트코드를 짜기 굉장히 어려웠던 기억이 있습니다. 오늘은 제가 우테코에서 배운 JUnit 5 사용법을 기초부터 설명해 보려고 합니다. 테스트코드가 처음이신 분들도 쉽게 따라올 수 있도록 최대한 쉽게 설명하려고 하니, 테스트코드에 대한 이해가 없는 분들께 도움이 되었으면 좋겠습니다! 😊 1. JUnit 5란?테스트코드를 작성하고 싶어서 들어왔는데 JUnit 5 얘기를 계속 하네? 나는 아직 JUnit 5가 뭔지도 모르는데.. 하시는 분들이 계실 수 있습니..
컴퓨터공학에는 동등성(Equality)과 동일성(Identity)이라는 개념이 존재합니다. 보통 일상생활에서 사용하는 "동등하다"와 "동일하다"라는 표현은 서로 비슷한 의미여서 두 표현의 의미를 명확히 분리해 쓰지는 않을 것 같은데요, 하지만 컴퓨터공학에서 이 두 표현은 명백히 다른 의미를 가지고 있고, 구분해서 사용해야 합니다. 이번 포스팅에서는 코틀린에서 동등성과 동일성이 어떻게 다른지 살펴보겠습니다! 1. 동등성, 동일성이 무슨 용어지?동등성, 동일성은 객체나 데이터를 비교할 때 같은지를 판단하는 개념입니다. 그리고 어떻게 같은지에 따라서 같다고 하더라도 동등하거나 동일한 것으로 나뉘게 됩니다. 2. 동등성이란?먼저 동등성은 두 데이터가 같은 내용(값)을 가지고 있음을 의미합니다. 다음 코드를 봅시..