woong's

Android Jenkins Junit 연동하기 본문

Develop/Android

Android Jenkins Junit 연동하기

dlsdnd345 2016. 2. 13. 22:18

Jenkins Junit

JUnit은 표준으로 자리잡은 단위 테스팅(unit-testing) 프레임웍


Junit 준비

기존 android.test.InstrumentationTestRunner 는 junit 결과는 xml 을 따로 저장 하는 기능이 없음
다른 개발자들이 만들어 놓은 훌륭한 xml 결과 레포팅 하는 jar 이용 , 구글 jar 이용

http://github.com/jsankey/android-junit-report/downloads 

해당경로를 통해서 jar 파일 다운로드





다운받은 jar 파일을 해당 프로젝트 libs 파일에 넣어준다 .


여기서 주의점은 Target 이 Test 프로젝트 입니다.




Junit 설정

AndroidManifest.xml 에 instrumentation 을 변경해 준다.


<instrumentation
  android:name="com.zutubi.android.junitreport.JUnitReportTestRunner"
  android:targetPackage="com.example.aatg.tc">
</instrumentation>

ant.properties 파일에 변경한 instrumentation 를 적어준다

 

      test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner

 

 




블로그 처음부터 설정해오신분은 test.runner 가 android.test.InstrumentationTestRunner 로 되있으실겁니다. 그러신 분은 꼭 android.junitreport.JUnitReportTestRunner 변경해주셔야 합니다.


자동화로 진행하신분은 Jenkins 쪽 Command 명령어를 변경해주셔야합니다.


echo tested.project.dir=../TemperatureConverter>ant.properties

echo test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner>>ant.properties




Ant Debug

해당 프로젝트의 경로에서 ant debug install test 명령어를 통해서 SUCESS 가 나오는것을 확인




ant 명령어가 되지 않을시에 시스템변수 path 에 ant 경로가 지정되어 있어야 합니다.

 




여기까지 완료가 되면 android DDMS 해당 기존 프로젝트를 가시면 xml 파일이 만들어져 있는것을 확인할수 있습니다.



추가가 된것을 확인 하셨으면 이파일을 Test 프로젝트로 이동시켜야 합니다 .

여기서 adb 명령어를 진행해야 하는데 주의점은 adb 명령어가 안되는 경우가 있습니다 .

시스템 변수 path adb 경로가 잡혀 있지 않아 이러한 경우가 생깁니다 .




자신의 android sdk 의 platform-tools 에 가면 adb.exe 가 있습니다 .
그 path를 잡아주시면 됩니다 .



adb pull /data/data/main app package/files/junit-report.xml

해당 명령어를 동해서 이동

위와 같은 응답이 오면




위와 같이 xml 파일이 들어와 있는 것을 확인 할수 있습니다 .

커밋을 꼭 !! 해주시고 jenkins 설정으로 넘어 가겠습니다.


자동화로 하신분은 파일역시 자동화로 진행이되어야 전체적으로 자동화를 돌릴수있습니다.

파일역시 자동화가 가능하므로 이와같이 진행해주시면 되겠습니다.




자동화로 모든것을 진행한 순서는 이와같이 나타납니다.





3. Jenkins 설정

Test 프로젝트 설정 으로 이동





Test report XMLs 에 해당 xml 파일 이름을 입력 합니다.

입력을 하면 에러가 나타납니다 .

이에러는 해당 프로젝트에 파일이 없다고 나오는 에러 입니다 .

 

 

 

Jenkins 폴더의 프로젝트에는 파일이없습니다 .

Jenkins  workspace 해당프로젝트에  junit-report.xml 붙여 넣으면 에러가 사라 지게 됩니다.

Build Now 를 하면 Jenkins workspace Clean 하면서 svn에 있는 프로젝트를 읽어

성공하는 화면을 볼수 있습니다.






'Develop > Android' 카테고리의 다른 글

android studio testing 환경 구축 하기(1)  (0) 2016.02.13
Android FindBugs 연동하기  (0) 2016.02.13
Jenkins Emma 연동하기  (0) 2016.02.13
Jenkins N’SIQ  (0) 2016.02.13
2. Android Jenkins 연동하기  (0) 2016.02.13
Comments