我是靠谱客的博主 积极汽车,最近开发中收集的这篇文章主要介绍Android—junit5,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

一个 Gradle 插件,允许使用Android Gradle Plugin 4.0.0 或更高版本在 Android 环境中执行JUnit 5测试。

如何?

此插件为项目的每个构建变体配置单元测试任务以在 JUnit 平台上运行。此外,它通过附加到android.testOptions.

下载

Kotlin

buildscript {
dependencies {
classpath("de.mannodermaus.gradle.plugins:android-junit5:1.8.2.1")
}
}

Groovy

buildscript {
dependencies {
classpath "de.mannodermaus.gradle.plugins:android-junit5:1.8.2.1"
}
}

设置

Kotlin

plugins {
id("de.mannodermaus.android-junit5")
}
dependencies {
// (Required) Writing and executing Unit Tests on the JUnit Platform
testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.2")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.2")
// (Optional) If you need "Parameterized Tests"
testImplementation("org.junit.jupiter:junit-jupiter-params:5.8.2")
// (Optional) If you also have JUnit 4-based tests
testImplementation("junit:junit:4.13.2")
testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.8.2")
}

Groovy

apply plugin: "de.mannodermaus.android-junit5"
dependencies {
// (Required) Writing and executing Unit Tests on the JUnit Platform
testImplementation "org.junit.jupiter:junit-jupiter-api:5.8.2"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.8.2"
// (Optional) If you need "Parameterized Tests"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.8.2"
// (Optional) If you also have JUnit 4-based tests
testImplementation "junit:junit:4.13.2"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.8.2"
}

要求

此插件的最新版本需要:

  • Android Gradle 插件4.0.0或更高版本
  • Gradle6.1.1或以上

仪器测试支持

有对 Android 仪器测试的实验性支持,这需要一些额外的配置和依赖项。此外,由于 JUnit 5 从头开始构建在 Java 8 之上,因此其仪器测试只能在运行 Android 8.0 (API 26) 或更高版本的设备上运行。旧手机将完全跳过这些测试的执行,将它们标记为“忽略”。

要开始使用 JUnit Jupiter 编写仪器测试,请对模块的构建脚本进行以下更改:

Kotlin

android {
defaultConfig {
// 1) Make sure to use the AndroidJUnitRunner, or a subclass of it. This requires a dependency on androidx.test:runner, too!
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
// 2) Connect JUnit 5 to the runner
testInstrumentationRunnerArguments["runnerBuilder"] = "de.mannodermaus.junit5.AndroidJUnit5Builder"
}
// 3) Java 8 is required
compileOptions {
setSourceCompatibility(JavaVersion.VERSION_1_8)
setTargetCompatibility(JavaVersion.VERSION_1_8)
}
}
dependencies {
// 4) Jupiter API & Test Runner, if you don't have it already
androidTestImplementation("androidx.test:runner:1.4.0")
androidTestImplementation("org.junit.jupiter:junit-jupiter-api:5.8.2")
// 5) The instrumentation test companion libraries
androidTestImplementation("de.mannodermaus.junit5:android-test-core:1.3.0")
androidTestRuntimeOnly("de.mannodermaus.junit5:android-test-runner:1.3.0")
}

Groovy

android {
defaultConfig {
// 1) Make sure to use the AndroidJUnitRunner, or a subclass of it. This requires a dependency on androidx.test:runner, too!
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// 2) Connect JUnit 5 to the runner
testInstrumentationRunnerArgument "runnerBuilder", "de.mannodermaus.junit5.AndroidJUnit5Builder"
}
// 3) Java 8 is required
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
// 4) Jupiter API & Test Runner, if you don't have it already
androidTestImplementation "androidx.test:runner:1.4.0"
androidTestImplementation "org.junit.jupiter:junit-jupiter-api:5.8.2"
// 5) The instrumentation test companion libraries
androidTestImplementation "de.mannodermaus.junit5:android-test-core:1.3.0"
androidTestRuntimeOnly "de.mannodermaus.junit5:android-test-runner:1.3.0"
}

本地建设

该存储库包含多个模块,分为两个子项目。存储库的根目录包含跨子项目共享的构建逻辑,这些逻辑又使用符号链接连接到其父文件夹中的公共构建脚本。

  • instrumentation:基于 Android 的模块的根文件夹,即检测库和示例应用程序。克隆后,在 Android Studio 中打开此项目。
  • plugin:基于 Java 的模块的根文件夹,即 Android 上 JUnit 5 的 Gradle 插件,以及它的测试模块。克隆后,在 IntelliJ IDEA 中打开这个项目。

最后

以上就是积极汽车为你收集整理的Android—junit5的全部内容,希望文章能够帮你解决Android—junit5所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部