Gradle Plugin 테스트/커버리지 환경 구축 및 개밥
Groovy에서 테스트 코드를 작성하는 것은 처음이었습니다.
테스트 정보
환경 구축
우선 다음과 같은 디렉토리 구성으로 하는 것만으로 OK였습니다.
src
|-- main
| |-- groovy/{{packageName}}
|-- test
|-- groovy/{{packageName}} # テストコードdir
실제 디렉토리
테스트 코드 & 실행 & 결과
Groovy라고 하면 원조 PowerAssert라고 하는 것으로(확실히), 이하와 같은 테스트 코드를 써 실행하면, PowerAssert인 결과를 표시해 줍니다.
class ShikatoTest {
@Test
void sum1() {
def expected = 2;
assert 1 + 1 == expected;
}
@Test
void sum2() {
// あえて失敗させる
def expected = 2;
assert 1 + 2 == expected;
}
}
실행
# --infoオプションをつけないとコンソール上でPowerAssertな結果は表示してくれなかった
#(--infoなくてもhtmlレポート上ではPowerAssertな結果を表示してくれる)
./gradlew test --info
HTML 보고서
# 以下に出力されるはず
build/reports/tests/index.html
좋은 느낌이네요
커버리지 정보
JaCoCo
테스트를 작성하기 위한 환경이 생겼으므로, 다음은 커버리지를 계측할 수 있도록 해 보겠습니다.
측정에 JaCoCo을 사용했습니다.
JaCoCo를 선택한 이유는 다음 3가지입니다.
AndroidCoverageCheck 플러그인에서 개밥을 할 수 있었기 때문에
세번째에 관해서는 나중의 항목으로 건드립니다.
환경 구축
위에서 언급했듯이 Gradle의 표준으로 플러그인이 준비되어 있으므로 다음과 같이 선언하는 것만으로 사용할 수 있습니다.
build.gradle
apply plugin: 'jacoco'
또한 이번에는 XML 보고 기능을 활성화합니다(AndroidCoverageCheck 플러그인에서 사용하기 위해).
build.gradle
jacocoTestReport {
reports {
xml.enabled = true
}
}
실제 build.gradle
실행
실행
# レポートを生成するだけならjacocoTestReportタスクのみでOK
./gradlew test jacocoTestReport
결과
HTML 보고서
# 出力先を変更していなければ以下に出力されるはず
build/reports/jacoco/test/html/index.html
좋은 느낌이네요
AndroidCoverageCheck 플러그인의 개 푸딩 정보
자신의 앱으로 독 푸딩하는 것은 물론입니다만, AndroidCoverageCheck 플러그인 자신의 개발에서도 독 푸딩 할 수 있는 것에 넘어선 적이 없기 때문에, 그 설정을 했습니다.
AndroidCoverageCheck 플러그인 설정
XML 보고서의 기본 출력 대상이 Android Gradle Plugin에서 JaCoCo를 사용했을 때와 다르므로 다음과 같이 지정했습니다.
build.gradle
String[] reportXmlPath = ["**/jacoco/**/jacocoTestReport.xml"];
androidCoverageCheck {
isBuildFailure false
instruction 80
branch 80
reportXml reportXmlPath
}
실제 build.gradle
AndroidCoverageCheck 플러그인에 대한 자세한 배포 지침은 여기을 참조하십시오.
실행
실행
# テストとカバレッジレポート生成とカバレッジチェックを実行
./gradlew test jacocoTestReport androidCoverageCheck
결과
좋은 느낌이네요
(아직 꽤 빨간색이지만 일단이 기사에서는 환경을 구축하는 곳까지하고 있기 때문에 앞으로 기대됩니다 )
사이고에게
우선, 테스트/커버리지 환경을 구축할 수 있었으므로, 독 푸딩하면서 테스트를 늘려 가면 좋겠습니다
Reference
이 문제에 관하여(Gradle Plugin 테스트/커버리지 환경 구축 및 개밥), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shikato/items/366a131ac5546fde7084텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)