gpt4 book ai didi

android - 使用 Gradle 在 Android Studio 中运行普通 Java 项目的单元测试

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:38 29 4
gpt4 key购买 nike

在多模块 Android 项目中,我有一个其他 Android 库和应用程序依赖的普通 Java 项目。我最近将整个项目迁移到使用 Gradle 构建。

我在运行纯 Java 项目的 junit 测试时遇到问题,仅在 Android Studio 中。在命令行上,测试运行良好:

./gradlew -p the-java-proj test

这会按预期执行单元测试,如果我插入 Assert.fail() 作为健全性检查,我会正确地得到预期的失败。

但是,我无法设法在 Android Studio 中运行单元测试。我创建了一个运行配置来运行包中的所有测试,运行时出现此错误:

Error running MYTESTNAME: No junit.jar in Module 'MYMODULENAME' runtime scope

最后的“运行时范围”有点可疑,但我不知道我应该用它做什么。这是项目的 build.gradle:

apply plugin: 'java'

repositories {
mavenCentral()
}

dependencies {
testCompile 'junit:junit:4.11'
testCompile 'org.mockito:mockito-all:1.9.5'
}

这尤其令人费解,因为我可以在迁移到 Gradle 之前在 Android Studio 中正常运行单元测试。只有现在我有这样的问题。我也没有获得友好的上下文菜单选项来运行单个单元测试。而且,据我所知,以前在当前文件中运行单元测试的键盘快捷键曾经有效,现在它只是弹出运行配置选择器,没有添加新选项的选项。

最佳答案

如果您将 java 项目附加到 android 项目,当从主项目运行测试时,它不会在 java 库项目中运行测试。它唯一做的就是创建库项目的 jar。所以我们需要明确告诉运行测试任务。

apply plugin: 'java'

repositories {
mavenCentral()
}

dependencies {
testCompile 'junit:junit:4.11'
testCompile 'org.mockito:mockito-all:1.9.5'
}

jar.dependsOn test

关于android - 使用 Gradle 在 Android Studio 中运行普通 Java 项目的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915636/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com