- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在 AndroidStudio 中使用 Robolectric 和 AssertJ 运行一些基本的单元测试。我已使用 testCompile
方法将 Robolectric、AssertJ 和 JUnit 添加到我的 build.gradle
文件中。但是,当我尝试实际运行单元测试时,我继续收到一条错误消息“找不到方法 testCompile()”。
我已经尝试用 androidTestCompile
替换 testCompile
方法,如前所述 here ,但是找不到要导入到我的 SampleTest.java
类中的 Robolectric、AssertJ 和 JUnit 类。
我还创建了一个非常基本的示例应用程序,看看我是否能让 Robolectric 工作。该应用程序一切正常,这让我感到困惑,可以找到该项目here .
非常感谢一些帮助,谢谢。
这是日志输出:
Testing started at 4:45 PM ...
4:45:18 PM: Executing external tasks 'cleanTest test --tests com.master.SampleTest'...
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/dthacker/Code/Repos/Default/CoreV2/a-fp-core/build.gradle' line: 45
* What went wrong:
A problem occurred evaluating project ':a-fp-core'.
> Could not find method testCompile() for arguments [org.robolectric:robolectric:3.0-rc2] on project ':a-fp-core'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 2.163 secs
Could not find method testCompile() for arguments [org.robolectric:robolectric:3.0-rc2] on project ':a-fp-core'.
这是我的测试类:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.annotation.Config;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class)
public class SampleTest {
@Test
public void sampleTest() throws Exception {
String testString = "hey";
assertThat(testString).isNotNull();
}
}
这是 a-fp-core build.gradle 文件:
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
classpath "org._10ne.gradle:rest-gradle-plugin:0.3.2"
}
}
apply plugin: 'com.android.library'
apply plugin: "org.10ne.rest"
repositories {
mavenCentral()
maven { url 'http://download.crashlytics.com/maven' }
maven { url 'http://lorenzo.villani.me/android-cropimage/' }
}
dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
compile project(':a-fa-core-data')
compile 'com.google.code.gson:gson:2.3'
compile 'com.mcxiaoke.volley:library:1.0.15'
testCompile "org.robolectric:robolectric:3.0-rc2"
testCompile "junit:junit:4.12"
testCompile "org.assertj:assertj-core:1.7.0"
}
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
文件夹结构:
我在 Android Studio 中的测试:
最佳答案
我可以告诉您来自基于 Eclipse 的项目,该项目基于您的 sourceSets
:
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/java']
aidl.srcDirs = ['src/main/java']
renderscript.srcDirs = ['src/main/java']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
}
}
我建议删除您的 sourceSets
并使用 Android Studio/Intellij 项目结构:src/main, src/test
。
IDE
运行单元
测试:确保您已打开“单元测试”。
这允许您在 IDE 中运行单元测试。请按照官方 Android 文档中的说明进行操作:
来源:http://tools.android.com/tech-docs/unit-testing-support
单元
测试:gradlew 测试
关于java - Robolectric - AndroidStudio - 找不到参数的方法 testCompile(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29638103/
我正在测试自动化工程师,我已经配置了 Jenkins 和 maven 项目来自动化脚本,几天前我的所有脚本在 Jenkins 和本地都运行良好,但是现在当我通过异常在 Jenkins 和本地系统中运行
我一直在四处寻找这个问题的解决方案,但我似乎无法找到正确的答案。我相信,我的情况比较特殊,所以这个问题可能更难解决。 问题的核心是我在运行 mvn test 命令时收到的错误消息: [ERROR] F
我在我的 android 项目中使用 Robolectric 和“android-unit-test”插件。我有多个模块(例如 foo 和 bar )并且希望在所有模块中使用相同的测试运行器。为此,我
我有三个用于 scala、groovy 和 Java 的测试文件夹。 在 Java 中,我有一个依赖于 Groovy 的类,而在 Groovy 中,我有一个依赖于 Scala 的类。 所以我在我的 g
我正在使用gradle版本-3.3-all和gradle插件-gradle:2.3.3我想写测试用例。因此,按照此page,我在应用程序的顶部build.gradle文件中添加了以下内容。
我想将我的一些依赖项(从maven中检索)复制到build.gradle文件中的特定位置。 如果我仅迭代testRuntime,则工作正常。我的代码是: dependencies { testRu
我对旧版本的库 testX 有传递性编译依赖。库 testX 不应该是编译依赖,而是 testCompile 依赖。更重要的是,我想依赖于 testX 的新版本,而不是旧版本。 我有一个部分解决方案,
我的项目有以下 pom.xml: 4.0.0 org.dummy oauth-test war 0.0.1-SNAPSHOT oauth-test M
maven-compiler-plugin:testCompile从 ./src/test/java 获取源代码。我如何指示它也使用 ./target/generated-sources/test 中
我正在尝试在 AndroidStudio 中使用 Robolectric 和 AssertJ 运行一些基本的单元测试。我已使用 testCompile 方法将 Robolectric、AssertJ
更新到 gradle 插件 1.1.0 时,我一直收到以下错误 Cannot add a configuration with name 'testCompile' as a configuratio
我在 MainProject/Project/src/test 中有我的测试。我正在使用 Jake Wharton 的 gradle-android-test-plugin。每当我使用 testCom
我已经为 unit-test-android 问题苦苦挣扎了很长时间。我看过this , this和 that , 最后我找到了 gradle-android-test-plugin甚至让它工作。我现
您好,我正在从事一个项目,并且已经到了不进行单元测试就继续进行下去是不明智的阶段。我认为 Android Studio 中的单元测试会很简单,但我无法运行我的测试。 这是我的依赖项。一切正常,直到我添
我想使用一些外部 jar 依赖项来编译测试文件,这些依赖项不会出现在 pom.xml 的依赖项标记中。有没有办法通过配置。像这样- maven-compiler-plugin 1.
我正在使用 Android Studio,在我的应用程序的依赖项中,我尝试添加一个 testCompile 依赖项,如下所列:http://www.gradle.org/docs/current/us
我正在使用 NewerVersionAvailable lint 检查以确定较新的依赖项版本。但看起来这个检查只对 implementation 有用。依赖关系。我认为我们不需要更新 junit很快。
我是 Gradle 新手。 当我运行构建时,构建不会将特定依赖项复制到特定目录,而是将compile和testCompile依赖项添加到src/test/resources。 我希望能够仅将测试编译依
我的 gradle 子项目之一的测试源中有一些实用程序文件,并且想在其他子项目中使用它们。我的“源”子项目称为 core,而使用它的子项目称为 tem。 我尝试迁移并集成 following exam
当我添加 dependencies { testCompile 'org.mockito:mockito-all:1.9.5' } 到我的build.gradle,下载了JAR文件,但是编译失
我是一名优秀的程序员,十分优秀!