gpt4 book ai didi

android - 新 gradle 和 android sdk 版本的 Roboelectric 问题

转载 作者:太空狗 更新时间:2023-10-29 14:09:08 26 4
gpt4 key购买 nike

直到最近,我才能够将 roboelectric 与 gradle 一起使用。我一直收到错误 Error:(6, 17) error: package org.junit does not exist。我不太确定并且已经深入研究了这一点。

下面是我的项目build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}

allprojects {
repositories {
mavenCentral()
jcenter()
}
}

下面是我的应用程序 build.gradle:

repositories {
mavenCentral()
jcenter()
}

apply plugin: 'com.android.application'

android {
...

sourceSets {
androidTest.setRoot('src/test')
}
}


dependencies {
...

// Testing
compile project(':core')
testCompile 'org.robolectric:robolectric:2.4'
testCompile 'junit:junit:4.+'
testCompile 'org.easytesting:fest:1.0.16'
testCompile 'com.squareup:fest-android:1.0.8'
}

我的核心项目build.gradle:

apply plugin: 'java'

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:2.4'
}

我已经阅读了以下关于此的内容,但这里没有任何内容对我有用:

https://www.bignerdranch.com/blog/all-in-together-android-studio-gradle-and-robolectric/ - 要使用的 android studio 插件在较新的 android studio 版本上崩溃。

https://www.bignerdranch.com/blog/triumph-android-studio-1-2-sneaks-in-full-testing-support/ - 这根本不能解决问题。它找不到 org.junit。

https://discuss.gradle.org/t/why-cant-my-simplest-one-line-build-gradle-compile-tests-with-junit-jar/1868

任何人都可以为此指出正确的方向吗?为什么它无法从 build.gradle 中检测到 org.junit

最佳答案

您必须将构建变体测试 Artifact 设置为单元测试

enter image description here

我不再需要“核心”项目,所以我删除了它。我的应用程序的 build.gradle 如下所示:

repositories {
jcenter()
}

apply plugin: 'com.android.application'

android {
...
sourceSets {
androidTest.setRoot('src/test')
}
}

dependencies {
...

// Testing
testCompile 'junit:junit:4.12'
testCompile 'org.easytesting:fest:1.0.16'
testCompile 'com.squareup:fest-android:1.0.8'
testCompile('org.robolectric:robolectric:3.0-rc2') {
exclude group: 'commons-logging', module: 'commons-logging'
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}
}

关于android - 新 gradle 和 android sdk 版本的 Roboelectric 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30447856/

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