S O F T WA R E V E R I F I CAT I O N Junit & Eclipse 및빌드환경 TEAM 1 컴퓨터공학부 201011314 김민재 201011356 이종찬 201011376 한지승 201111329 강성길 2015.03.18
I N D E X 1 Purpose & CI 2 Eclipse 3 JUnit 4 Build Environment
3 1 Purpose & CI
1. Purpose & CI Continuous integration 협업중인개발자들끼리각자의코드를통합할때발생하는문제를예방하기위해도입되었다. 개발자들이문제점을빠른시일내에알게되어고칠수있고, 한번의 test code 작성으로개발중해당부분에대해테스트를언제든지진행할수있다. [Progress] Developers Version Control Build Management CI Server 4
2 Eclipse 1) JDK(Java Development Kit) 2) 환경변수설정 3) Eclipse 설치 4) Eclipse 사용법
2. Eclipse IDE(Integrated Development Environment/ 통합개발환경 ) 으로써편집기, 컴파일러, 디버거, 유닛테스트같은도구들이결합되어있는개발도구 오픈소스 모든운영체제를지원 6
2. Eclipse JDK(Java Development Kit) Oracle 홈페이지접속 : http://www.oracle.com/index.html Downloads Java for Developer 메뉴접근 7
2. Eclipse JDK(Java Development Kit) JDK 다운로드 8
2. Eclipse JDK(Java Development Kit) 아래의동의함을누른뒤각자컴퓨터의운영체제에맞는 JDK를다운받는다. 9
2. Eclipse JDK(Java Development Kit) 변경버튼은 JDK가설치되는경로이다. ( 변경시에는버튼클릭후원하는경로를설정한다.) 10
2. Eclipse 환경변수설정 환경변수를설정하게되면모든경로에서 JDK하위의 bin을사용할수있게된다. 11
2. Eclipse 환경변수설정 고급시스템설정 12
2. Eclipse 환경변수설정 시스템속성창에서고급탭클릭 -> 환경변수버튼클릭 13
2. Eclipse 환경변수설정 시스템변수새로만들기클릭 -> 변수이름의 JDK 폴더경로를 JAVA_HOME/ 변수값에입력 -> 확인버튼클릭 14
2. Eclipse 환경변수설정 시스템변수중 Path 부분더블클릭 -> 변수값에 ;JAVA_HOME%\bin 추가입력후확인 15
2. Eclipse 환경변수설정 제대로설치된모습 cmd 창에 javac version을입력했을때버전정보가나오면제대로설정완료 16
2. Eclipse Eclipse 설치 Eclipse 사이트접속 :http://www.eclipse.org/downloads/ Eclipse IDE for Java Developer 탭에자신의 O/S Bit에맞게설치 17
2. Eclipse Eclipse 설치 Download 클릭 18
2. Eclipse Eclipse 설치 이클립스폴더를압축해제 -> eclipse -> eclipse.exe 19
2. Eclipse Eclipse 사용법 Eclipse 아이콘을클릭 -> Workspace 설정 (Work space: 자바프로젝트가저장될곳 20
2. Eclipse Eclipse 사용법 프로젝트만들기 21
2. Eclipse Eclipse 사용법 프로젝트만들기 22
2. Eclipse Eclipse 사용법 Class 만들기 23
2. Eclipse Eclipse 사용법 Package: 관련된클래스혹은인터페이스들을묶어놓는그룹 Name: 클래스이름을적음 Public static void main(string []args) 를선택 24
2. Eclipse Eclipse 사용법 프로젝트실행 25
3 JUnit 1) 자동화 Test 2) JUnit 이란? 3) JUnit 사용법
3. JUnit 자동화 Test 단위 Test Junit 통합 / 컨테이너내부 Test - Cactus 수락 / 기능 Test HttpUnit Unit Test는가장빈도가높게사용되지만전체 Testing의일부분 단위 Test는통합 Test, 기능 Test 등과함께사용되어시스템의동작이의도에맞게동작함을보증 27
3. JUnit JUnit 이란? 효율적인 JAVA 단위 Test를위한 Framework 외부테스트프로그램을작성하여출력으로번거롭게디버깅하지않고자동화할수있다. JDK 1.4 Version에서추가된 assert를사용한다. 최적화된코드를유추하는기능도제공한다. 28
3. JUnit JUnit 이란? 특징 - 단위테스트 Framework 중하나 - CLI 혹은 GUI 기반 - Assert로 Test Case의수행결과를판별 - Annotation 지원 - 결과는성공 / 실패중하나로표시 29
3. JUnit JUnit 이란? Assert문 ( 단정문 ) - 프로그램작성또는처리작업등에관계되는내용이나조건에대한가정및예상을하는문장 - Unit Test에서는 Test Case의결과를특정한조건을만족하는값을단정지어서만족하지않으면테스트실패로간주한다. - 예를들어, asserttrue 라는 Assert 문에 Test Case를넣었을때, 결과는항상참이어야한다. 아니면케이스실패라고할수있다. 30
3. JUnit JUnit 이란? Annotation(@) - Class나 Method 등을선언시에 @ 를사용하는것을말한다. - Class와 Method의메타데이터를선언할때사용한다. - @Test : 단위테스트대상 Method 정의. - @Before, @After : 각단위테스트메소드의실행전 / 후에서초기화와자원정리작업을수행 - @AfterClass, @BeforeClass : 각단위 Class 수행전 / 후에서초기화와자원정리작업을수행 31
3. JUnit JUnit 사용법 설치 Eclipse 에서기본적으로제공 32
3. JUnit JUnit 사용법 Test Case 클래스를만들어주는과정 33
3. JUnit JUnit 사용법 Junit에대한 Build Path를설정해주는과정. Gradle 혹은 Maven과같은 Builder를이용해서자동으로추가해준다. 34
3. JUnit JUnit 사용법 자동으로생성되는소스코드 35
3. JUnit JUnit 사용법 아래의사진과같은프로젝트폴더와패키지를구성 36
3. JUnit JUnit 사용법 간단한계산기 Class 와 Test Case 작성 37
3. JUnit JUnit 사용법 Test 결과 38
4 Build Environment 1) Advantage of Gradle 2) Using Gradle 3) Gradle 설치
4. Build Environment Advantage of Gradle Gradle은기존의 Ant, Maven과같은기존 Build 도구들의단점들을보강하고장점을살린도구 기본적으로 Ant와 Maven은 XML 기반의 Build 스크립트기반이지만 Gradle은이와다르게 Groovy라는언어에기반한다. 다른 Build 도구들과다르게 Groovy라는언어기반이기에조건문, 반복문을통한동적인 Build 스크립트를작성가능하다. 40
4. Build Environment Advantage of Gradle 의존성선언 Maven <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.1.2</version> <scope>test</scope> </dependency> </dependencies> 의존성선언 Gradle dependencies() { testcompile 'junit:junit:4.1.2' } 41
4. Build Environment Advantage of Gradle 단편적으로 XML로의존성을추가하면한개를추가하는데 6 줄이추가되는반면 Gradle은단한줄로가능 ( 직관성, 가독성향상 ) 정적인데이터를저장한 XML로내용을기술한다는크나큰제약을해결 42
4. Build Environment Advantage of Gradle Gradle Wrapper 기능은윈도우의배치스크립트, Mac OS X, Linux 를지원하 는쉘스크립트를포함한다. 따라서 Gradle 이설치되어있지않은시스템에서도 Gradle 빌드를가능하게한다. Task wrapper(type: Wrapper) { gradleversion = 2.12 } 즉, 환경구축이되어있지않아도 Gradle 빌드를할수있어소스코드의개발 에전념할수있도록설계되어있다. 43
4. Build Environment Advantage of Gradle 프로젝트를 Gradle Wrapper 로생성 리눅스계열의쉘스크립트 gradlew 윈도우의배치스크립트 gradlew.bat이생성 Gradle 환경을설치하지않아도 Gradle을사용할수있게해주는스크립트이는 gradle-wrapper.properties 파일에실행에필요한 url을기술하여해당주소를통해프로젝트별로독립적으로실행되어자동설정을하여 Build를가능하게한다. 44
4. Build Environment Using Gradle Gradle Task 는 Ant 의자율성을포함한다. task hellojs << { println 'Hello JS world!' } Gradle 은모든 Build 단위를 task 로정의하며, 이는 Ant 의 targe 과같은개념 원하는 Build 의단위를 task 명령어를통해새로운 task 를추가 45
4. Build Environment Using Gradle Ant 와똑같이각 task 간에의존관계를설정가능하다. task hellojs << { println 'Hello JS world!' } task goodbye(dependson: hellojs) << { println "Okay, Goodbye.." } 46
4. Build Environment Using Gradle Gradle Plugin은 Maven의편리성을포함한다. apply plugin: java apply plugin: eclipse Gradle은 Plugin을통해 task간의의존성을자동으로추가가가능하여편리하다. 47
4. Build Environment Gradle 설치 Gradle 홈페이지접속 http://www.gradle.org/downloads 48
4. Build Environment Gradle 설치 환경변수설정 49
4. Build Environment Gradle 설치 환경변수설정후적용 50
4. Build Environment Gradle 설치 Gradle Eclipse IDE Plugin 설치방법 51
4. Build Environment Gradle 설치 Gradle Eclipse IDE Plugin 설치방법 2 52
4. Build Environment Gradle 설치 Gradle 빌드가적용된자바프로젝트만들기 53
THANK YOU Junit & Eclipse 및빌드환경 2015.03.18