개발/Java

[JAVA] JUnit 이란??

hojak99 2016. 7. 23. 11:59


※ 고등학생이기 때문에 주변에 이 분야에 실력있는 사람이 없을 뿐더러 공부를 하는 사람도 없기에 구글링과 도서에 의존합니다. 출처는 꼭 밝힙니다. 제가 공부한 것을 작성하기 때문에 틀린 부분도 있을 수 있습니다. 지적해주시면 감사합니다. 



이번 프로젝트를 진행하게 되면서 JUnit 이란 것을 사용하라고 했는데 처음 들어본 것이라서 JUnit 에 대해서 알아보게 되었습니다.



JUnit is a Unit testing framework for the Java language. and important in the development of test-driven-development.

JUnit is linked as a JAR at compile-time. the framework resides under package "Junit.framework" for JUnit 3.8 and earlier, and under package "org.juit" for JUit 4 and later.

출처 : https://en.wikipedia.org/wiki/JUnit


[JUnit 은 자바 언어를 위한 단위 테스팅 도구이고 test-driven-development의 성장에 중요하였다. 

JUnit은 JAR로 컴파일 시간과 연계되있다. 이 도구는 "Junit.framework" 아래에 있다.]



JUnit 에 대해서 더 말해보자면 옛날에 디버깅을 하기 위해서 중간 중간 소스 코드에 System.out 을 추가했었는데 이 JUnit 을 사용하면 그럴 필요없이 프로그램 테스트를 할 수 있으며 그 테스트에 걸릴 시간도 관리할 수 있다. 이 JUnit은 테스트 결과를 확인하는 것도 있지만 초지ㅓㄱ화된 코드를 유추해내는 기능도 제공한다. 이 JUnit 은 그냥 클래스에서 사용하는 것이 아니라 따로 Test 클래스에서 사용한다.



다음은 IntelliJ 에서  JUnit 을 사용하는 방법에 대해서 쓰겠다.

Intellij 에는 따로 test라는 폴더가 존재하는데 그 밑 java 폴더에 테스트 클래스를 생성해서 그곳에 테스트를 진행한다. 필자는 클래스 명을 JUnitExample이란 클래스를 만들려 했지만 오타로 JUitExample 이란 클래스를 만들었다.

JUnit을 사용하려면 @Test를 작성해야하는데 저렇게 빨간줄이 나타난다. 그렇다면 Alt+Enter를 누른다.

그렇다면 Add "JUnit4' to classpath" 가 있는데 이것을 클릭한다.


이제 OK 를 누른다.






그렇다면 이제 자동으로 JUnit이 import 되었을 것이다. 이제 JUnit 을 쓸 준비는 모두 되었다!

이제 코드를 작성하자.




이런 식으로 JUnit 을 사용할 수 있다.






만약 예상하는 값이 틀렸다면 이렇게 화면이 뜬다.






JUnit을 사용할 때 쓰는 메소드는 아래와 같다


assertArrayEquals(a,b) : 배열 a, b가 일치하는 지를 확인

assertEquals(a,b) : a, b 값이 같은 지를 확인

assertSame(a,b) : a, b가 같은 객체인 지를 확인

assertTrue(a) : a가 참인지 확인

assertNotNull(a) : a가 null이 아님을 확인


그리고 위에서 @Test라고 작성했는데 @Test는 테스트를 수행하는 메소드이다. 쉽게 말해 @Test 라고 써있는 클래스는 Test 용 클래스라고 생각하자.

반응형