UFO ET IT

Android Studio를 사용하여 코드 커버리지를 얻는 방법은 무엇입니까?

ufoet 2020. 11. 24. 20:39
반응형

Android Studio를 사용하여 코드 커버리지를 얻는 방법은 무엇입니까?


Android Studio를 사용하여 앱을 개발 중입니다.
테스트 코드를 실행할 수있었습니다.
하지만 안드로이드 스튜디오에서 코드 커버리지를 얻는 방법을 모르겠습니다.

나는 이미 다음 링크를 보았다.
Android Gradle 코드 커버리지
하지만 emma를 지원하는 v0.6으로 업데이트되기를 기다릴 수 없습니다.

프로젝트 구성은 다음과 같습니다.

메인 코드
MyProject / AppName / src / main / java / mypackage / MyClass.java

테스트 코드
MyProject / AppName / src / instrumentTest / java / mypackage / test / MyClassTest.java

프로젝트 구성
MyProject
├─build.gradle
└─AppName
    ├─build.gradle
    └─src
        ├─main
        │ ├─java
        │ │ └─mypackage
        │ │ └─MyClass.java
        │ ├─res
        │ └─AndroidManifest.xml
        └─AndroidManifest.xml instrumentTest
            └─java
                └─mypackage
                    └─test
                        └─MyClassTest.java


새로운 Android Studio 1.2를 사용하면 단위 테스트를 실행하고 IDE 내에서 모든 범위를 볼 수 있습니다.

먼저 IDE에서 단위 테스트를 실행해야합니다. (이미 가능하다면이 단계를 건너 뛰십시오)

가이드데모 가 도움이 될 것입니다.

둘째, JUnit 실행 구성을 생성해야합니다.

여기에 이미지 설명 입력

이 구성 내에서 선택할 수 있습니다.

  • 테스트 종류 : "All in Package"
  • 패키지 : [테스트가있는 패키지, 예 : "com.myapp.tests"]
  • 테스트 검색 : 모듈 종속성 간 (설정에 따라 다를 수 있음)
  • VM-옵션 : -ea
  • 작업 디렉토리 : [프로젝트 디렉토리]
  • 모드의 클래스 경로 사용 : [모듈 선택]

JUnit 실행 구성을 만드는 데 문제가있는 경우이 가이드를 방문 하여 도움을 받아야합니다.

Lastly, in the latest Android Studio, you should be able to run your JUnit-Run Configuration by clicking on the 'Run with Coverage' button.


In Android Studio 2.1.3 the is label Run Unit tests with Coverage where Unit test is the name of your test configuration as shown in the following screenshot:

Android 스튜디오 : "범위를 사용하여 단위 테스트 실행"버튼


There are so much answers showing how to apply jacoco plugin to Android studio project, which is outdated, and wasted me so much time to figure out the solution for recently Android studio(My Android Studio is version 2.1.2).

  • Jacoco plugin is built in for Android Studio gradle, what you need to do is just enable it like following:
  buildTypes {
    ...
    debug {
      testCoverageEnabled true
    }
  }
  • After you do above, run unit test task ./gradlew testDebugUnitTest

  • Then create coverage files: ./gradlew createDebugCoverageReport

  • Coverage files will be created under <module>/build/reports/coverage/debug folder,include index.html, which you can open it with browser, and report.xml which you can use to get a report by jenkins jacoco plugin or other continues integration tools.

For those who got 0% coverage with jenkins jacoco plugin, be sure to use the right version. quote from their site:

Unfortunately JaCoCo 0.7.5 breaks compatibility to previous binary formats of the jacoco.exec files. The JaCoCo plugin up to version 1.0.19 is based on JaCoCo 0.7.4, thus you cannot use this version with projects which already use JaCoCo 0.7.5 or newer. JaCoCo plugin starting with version 2.0.0 uses JaCoCo 0.7.5 and thus requires also this version to be used in your projects. Please stick to JaCoCo plugin 1.0.19 or lower if you still use JaCoCo 0.7.4 or lower


We use maven to build our app and cobertura for code coverage reporting

both are really easy to integrate

android maven integration:

http://www.vogella.com/tutorials/AndroidBuildMaven/article.html

Maven + Cobertura Code Coverage Example:

http://www.mkyong.com/qa/maven-cobertura-code-coverage-example/


I don't think you can see visual code coverage report inside Android Studio. But you could try Jacoco. You will need to integrate it in your build.gradle file. You can find the similar question & solution here


Have you tried using the Jacoco plugin for getting code coverage for your project? It is a good plugin giving you coverage based on your package or individual classes. I am not sure how you configure Jacoco to use with Gradle since i use Maven. Check the link: and see if it helps you


Android 스튜디오 gradle에는 코드 적용 범위를 찾는 데 사용할 수있는 Jacoco 플러그인이 내장되어 있습니다. Espresso 테스트 케이스에 대한 코드 적용 범위를 찾기 위해 jaococo를 단계별로 구성하는 기사로 작성했지만 Robotium에서도 사용할 수 있습니다. 이것 좀 봐.

http://qaautomated.blogspot.in/2016/03/how-to-find-code-coverage-with-jacoco.html

참고 URL : https://stackoverflow.com/questions/18683022/how-to-get-code-coverage-using-android-studio

반응형