![](/img/trans.png)
[英]No tests were found - when using JUnit5 [in IntelliJ IDEA]
[英]“Class not found” when running JUnit tests from IntelliJ IDEA (Android)
尝试在 IntelliJ Idea 中运行一些 Android JUnit 测试时遇到问题。
我的项目是一个使用 Gradle 的 Android 库项目。 当我运行我的测试时,IntelliJ 抱怨以下错误:
Class not found: "com.domain.app.ClassTest"
但是ClassTest
存在于 test 包中。
这是我的 build.gradle:
apply plugin: 'android-library'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.10.+'
}
}
dependencies {
repositories {
mavenCentral()
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
compile 'com.android.support:support-v4:19.1.+'
compile('junit:junit:4.11') {
exclude module: 'hamcrest-core'
}
}
android {
compileSdkVersion 18
buildToolsVersion "19.0.3"
defaultConfig {
versionName "1.0"
versionCode 1
targetSdkVersion 18
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src/main/java']
res.srcDirs = ['res']
}
androidTest {
java.srcDirs = ['src/test/java']
}
}
lintOptions {
abortOnError false
}
}
我的项目结构:
src
|_ main
|_ java
|_ com.domain.app
|_ test
|_ java
|_ com.domain.app
我正在使用 IntelliJ IDEA 13.1.1。
谢谢。
转到Project Structure -> Modules -> your_module -> Paths
。
应填写“ Output path
”的值,但不会填写“ Test output path
”。 复制“ Output path
”中的文本,粘贴到“测试输出路径”中,但将最终的“ build/intermediates/classes/debug
”更改为“ build/test-classes
”。 这是因为 gradle android 测试插件当前将所有编译的测试输出(对于所有变体)转储到同一目录中。 这意味着不完全支持当前的变体。
来源。
老问题,不过刚好碰到这个问题,发现答案是将JUnit测试文件存放在如下路径
模块名称/src/test/java/
如果该目录尚不存在,请创建它并将您的测试文件放在那里。
来源: https : //developer.android.com/training/testing/unit-testing/local-unit-tests
将测试库更改为 jUnit4。
也许在创建测试类时你选择了不同的测试库而不是 jUnit
这与实际问题无关,但搜索者可能会来到这里,这可能会有所帮助。 我的问题是找不到类错误,使用 JUnit 测试 ¯_(ツ)_/¯
我在 finder 中创建了一个包含代表跨年 (2020/2021) 的目录的路径,并将正斜杠替换为冒号 (/ → :)
用下划线替换冒号解决了这个问题。
尝试将“test”重命名为“androidTest”
src |_ main |_ java |_ com.domain.app |_ **androidTest** |_ java |_ com.domain.app
http://tools.android.com/tech-docs/new-build-system/migrating_to_09
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.