相关疑难解决方法(0)

JAVA_HOME在MacOS Mojave(10.14)到Lion(10.7)的哪里?

Java是最新版本macOS上的可选包.

然而,一旦安装,似乎JAVA_HOME环境变量设置不正确.

java macos

544
推荐指数
14
解决办法
46万
查看次数

测试工件选择器在Android Studio 2 Beta 5中从Build Variants中丢失/消失

为了在Android Studio中运行Instrumentation Tests,我通常会通过Build Variants窗口选择"Android Instrumentation Tests"作为要构建的测试工件.我最近升级到Android Studio 2 Beta 5,并且"Test Artifact"选择器不再可见.它去了哪里?是否有其他配置取而代之?

android-studio android-gradle-plugin android-studio-2.0-beta5

54
推荐指数
2
解决办法
1万
查看次数

Gradle + Robolectric:我在哪里放置文件org.robolectric.Config.properties?

我正在尝试使用Robolectric设置测试以单击此存储库中的菜单按钮.基本的Robolectric测试将运行,但我无法使用资源运行任何项目特定的测试,因为它说它无法找到我的AndroidManifest.xml.运行后../gradlew clean check,这是Robolectric html文件的标准输出:

WARNING: No manifest file found at ./AndroidManifest.xml.Falling back to the Android OS resources only. To remove this warning, annotate your test class with @Config(manifest=Config.NONE).

我发现这些说明表明我应该创建一个org.robolectric.Config.properties文件,但我不知道该把它放到哪里.我几乎到处都试过,尽管移动了文件,但错误信息中的路径始终与上面相同(./AndroidManifest.xml).这让我觉得构建过程从未获取文件中的设置org.robolectric.Config.properties.

我也尝试了@Config(manifest ="")指令,但这给了我一个cannot find symbol错误.如果我将AndroidManifest.xml移动到我的项目目录中,那么我得到一个错误,它无法找到路径./res/values,我也无法解决.有任何想法吗?

更新1

谢谢欧根,我现在用@RunWith(RobolectricGradleTestRunner.class)而不是@RunWith(RobolectricTestRunner).

现在我得到了一个不同的错误,仍然发生在我的BasicTest.java的同一行

KeywordList keywordList = Robolectric.buildActivity(KeywordList.class).create().get();
Run Code Online (Sandbox Code Playgroud)

以下是Robolectric测试报告中标准错误,标准输出和"失败测试"选项卡的结果:

注意:我也尝试用最新的Robolectric更新,robolectric-2.2-SNAPSHOT.jar构建的jar替换,但仍然出错.

标准错误

WARNING: no system properties value for ro.build.date.utc

标准输出

DEBUG: Loading resources for net.frontlinesms.android from ~/workspace-studio/frontlinesms-for-android/FrontlineSMS/build/res/all/debug...
DEBUG: Loading …
Run Code Online (Sandbox Code Playgroud)

testing android unit-testing gradle robolectric

21
推荐指数
2
解决办法
7252
查看次数

Android Studio 1.1,简单的junit测试设置

我已经阅读过,有很多广泛的答案(比如这个),但Android世界发展得如此之快,以至于它们似乎有点过时,官方文档仍然指的是带有ADT的Eclipse.

我正在运行AS 1.1,我正在尝试设置简单的junit测试以在模拟器上运行,而不使用Robolectric.如果我不包括在我的JUnit build.gradle,它无法找到@After,@Before并且@Test和我package org.junit does not exist.加入后

// unit tests
androidTestCompile 'junit:junit:4.11'
Run Code Online (Sandbox Code Playgroud)

错误变成了

Error:duplicate files during packaging of APK
[...]/app/build/outputs/apk/app-debug-test-unaligned.apk
Path in archive: LICENSE.txt
Origin 1: [...]/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar
Origin 2: [...]/.gradle/caches/modules-2/files-2.1/junit/junit/4.11/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar
You can ignore those files in your build.gradle:
android {
  packagingOptions {
    exclude 'LICENSE.txt'
  }
}
Run Code Online (Sandbox Code Playgroud)

根据控制台建议排除LICENSE.txt,它可以工作,但感觉就像一个黑客.所以我想知道,我可能会错过一些东西吗?谢谢.

junit android unit-testing android-studio

6
推荐指数
1
解决办法
2632
查看次数

如何将testCompile依赖项添加到IDE类路径

很长一段时间以来,我一直在努力解决unit-test-android问题.我已经看到了这个,这个那个,最后我找到了gradle-android-test-plugin甚至让它运行起来.我现在可以用gradlew test命令运行测试了.

但是,在IDE(Android Studio或IntelliJ 13)中编写这些测试是不太舒服的,因为它没有看到junit和Robolectric依赖项添加了testCompile依赖性.

有没有办法将这些依赖项添加到IDE类路径中,但仍然避免将它们打包到生产应用程序中(因此,compile不能使用AFAIU 依赖项)?

junit android gradle gradle-android-test-plugi

5
推荐指数
1
解决办法
1434
查看次数