반응형
Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Bbaktaeho

[Java] JUnit 프레임워크 맛보기 (유닛 테스트, TDD) 본문

프로그래밍 (Programming)/자바 (Java)

[Java] JUnit 프레임워크 맛보기 (유닛 테스트, TDD)

Bbaktaeho 2020. 9. 21. 14:49
반응형

JUnit?


JUnit(제이유닛)은 자바 프로그래밍 언어용 유닛 테스트 프레임워크이다. JUnit은 테스트 주도 개발 면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 이름의 유닛 테스트 프레임워크 계열의 하나이다.

-위키백과 JUnit-

즉, 테스트 주도 개발에서 모듈별 테스트를 하기 위해 자바 프로젝트에서 사용하는 프레임워크입니다.

자바스크립트에서 jest, mocha 라이브러리와 비슷한 목적을 가진 것 같습니다.

JUnit 맛보기


Android 프로젝트에서 맛보기

안드로이드 프로젝트를 생성하고 Android 트리구조를 확인하면 app -> java -> 패키지들이 존재합니다.

그중에 ExmpleUnitText.java를 열어줍니다.

 

안드로이드에서 기본적으로 junit 프레임워크를 사용할 수 있어 보입니다.

 

@Test
public void addition_isCorrect() {
	assertEquals(4, 2 + 2);
}

위 코드에서 assertEquals메서드가 하는 역할은 expected와 actual이 같은지 확인하는 메서드입니다.

자바에서 assert 단정 키워드처럼 이러한 메서드들을 단정 문이라고 부릅니다.

 

4와 2 + 2 가 같은지 유닛 테스트를 진행해보겠습니다.

 

Run Test 클릭

 

Tests passed를 확인할 수 있습니다.

일부러 틀린 수식을 입력해서 테스트해보겠습니다.

 

4와 2 + 1 이 같은가?

 

Run Test 클릭

 

Tests failed를 확인할 수 있습니다.

유닛 테스트 필요할까?


 

항상 귀찮음과 게으른 태도 때문에 굳이 써야 하나? 생각했습니다.

테스트가 없다면 어떠한 모듈에서 문제가 발생했을 때 이를 찾아 버그를 수정하는 과정은 끔찍할 것입니다.

 

저 또한 앞으로 TDD에 습관 들일 수 있도록 해야겠습니다.

참고 자료


www.crocus.co.kr/1544

 

[JUnit] Android UnitTest, JUnit을 이용한 유닛 테스트

1. JUnit이란? 어느 정도 개발이 진행되면 프로그램에 대한 단위 테스트는 반드시 수행해야 하는데, JUnit은 보이지 않고 숨겨진 단위 테스트를 끌어내어 정형화시켜 단위 테스트를 ��

www.crocus.co.kr

 

junit.org/junit5/

 

JUnit 5

About JUnit 5 is the next generation of JUnit. The goal is to create an up-to-date foundation for developer-side testing on the JVM. This includes focusing on Java 8 and above, as well as enabling many different styles of testing. JUnit 5 is the result of

junit.org

 

반응형