- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 roboletric 构建非常简单的单元测试,但我无法创建事件。
我尝试了线程中的建议,但没有成功。
Resources$NotFoundException when calling Robolectric.buildActivity()
然而,我使用的是 4.0.1 版本。我想知道我是否需要做一些额外的设置。
这是我的gradle:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
testImplementation 'androidx.test.espresso:espresso-core:3.1.0'
testImplementation 'androidx.test:core:1.0.0'
testImplementation 'androidx.test.ext:junit:1.0.0'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.23.0'
testImplementation 'org.robolectric:robolectric:4.0.1'
androidTestImplementation 'com.google.truth:truth:0.42'
testImplementation 'com.google.truth:truth:0.42'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
}
和我的测试程序:
@Config(sdk = 28, manifest=Config.NONE)
@RunWith(RobolectricTestRunner.class)
public class MainActivityTest {
private Activity activity;
@Before
public void setup() {
try {
// I tried these 3 lines of code and they all throw the exception :(
//activity = Robolectric.buildActivity(MainActivity.class).create().get();
//activity = Robolectric.setupActivity(MainActivity.class);
activity = Robolectric.buildActivity(MainActivity.class).create().start().resume().get();
}
catch (Exception e)
{
System.out.println("Keeps throwing exception!");
}
}
}
这里是输出:
[Robolectric] com.guitarv.robotest.MainActivityTest.validateTextViewContent: sdk=28; resources=legacy
[Robolectric] NOTICE: legacy resources mode is deprecated; see http://robolectric.org/migrating/#migrating-to-40
Keeps throwing exception!
Test:Sun Nov 11 06:21:59 PST 2018
我确实点击了该链接并将 gradle.properties 更新为:
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
android.enableUnitTestBinaryResources=true
但是没有成功。我仍然无法创建事件,并且一直显示旧模式消息。
有什么线索是我做错了什么吗?
谢谢。
最佳答案
Robolectric 无法找到您应用的资源。
将此添加到您的build.gradle
:
android {
testOptions {
unitTests.includeAndroidResources = true
}
}
将此添加到您的 gradle.properties
(Android Studio 3.3+ 不需要):
android.enableUnitTestBinaryResources=true
关于unit-testing - Robolectric 4.0.1 不断在 buildActivity 上抛出 Resources$NotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53249752/
我正在使用 CustomMultiAutoCompleteTextView 引用 this 选择多个联系人在该代码中选择多个联系人,但我想显示在 toast 消息上选择的数字是什么。当为此单击按钮时,
我想改变我的 snackbar 的颜色 snackbarView.setBackgroundColor(ContextCompat.getColor(context, Color.RED)); 我得到
E/AndroidRuntime( 5751): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.exam
我已经用maven构建了我的项目所有构建成功并且 eclipse 属性生成也成功 但是当我在 Eclipse 4 中打开项目时,出现此错误 An internal error occurred dur
我刚刚学习了 Android 编码,这是一个简单的除法、乘法、加法和减法应用程序的源代码,该应用程序在我和我 friend 的 Android 手机上崩溃(在 Lenovo A390 和 Nexus
这是我的 .java 文件: package com.example.rohitkulkarni.readingfile; import android.os.Environment; import
因此,每当我运行我的应用程序时,它都会立即崩溃并给出以下错误: No package identifier when getting value for resource number 0x00000
我正在使用 zxing 解码二维码图像,但它总是返回 NotFoundException。在线解码器 http://zxing.org/w/decode.jspx扫描这些图像非常好,所以它应该能够在我
我注意到我的华为手机生产应用的许多崩溃报告与复数处理完全相关。其他手机没有这个问题只有华为才有。 所有复数形式都存在并且在其他设备上也能正常工作。 看来华为根本无法处理复数: android.cont
我有一个拥有超过 100.000 名用户的应用程序。但是在某些设备(~50)上我得到了一个奇怪的异常。堆栈跟踪显示,未找到可绘制对象。 这是堆栈跟踪: java.lang.RuntimeExcepti
我尝试使用 Zxing 来解码 Aztec 代码。 我使用来自 SO answer 的代码.这是其中的一部分: public static String readQRCode(String fileP
我正在创建一个应用程序,玩家可以在该应用程序中将自己的名字输入到编辑文本中。此信息被检索并通过 extras 发送到第二个 Activity 。每当我运行它时,我都会收到 Resources$NotF
我尝试构建 apk 的发布版本并在 Honor 5x (api 23) 上启动时出现错误: Caused by: android.view.InflateException: Binary XML f
我的一个应用在三星 S5(准确地说是 SM G900V)上崩溃了,但有以下异常(exception): android.content.res.Resources$NotFoundException:
我收到来自 android 市场的崩溃报告: android.content.res.Resources$NotFoundException: Resource ID #0x.... 我每周会收到大约
我有一个动态功能模块,它有自己的嵌套导航图。我还有一个动态功能模块,它只是一个 fragment 。如果您有一个带有自己导航图的动态功能模块,我知道您需要使用 包含动态标签。当我构建应用程序并将应用程
我的选项菜单中有一个麦克风按钮。当我单击它时,我希望它显示备用图像(红色麦克风)。 但是它不起作用。失败并出现 ResourcesNotFoundException。图像(png)肯定位于适当的 re
我正在循环显示近 4,000 张带有图像名称的图像。 这是我用来从可绘制文件夹获取图像的代码 for(int i=0; i
我试图扩展一个RelativeLayout对象并包含一个嵌入的SurfaceView对象,该对象使用/res/drawable文件夹中的png文件作为背景,但我在XML布局编辑器中不断收到错误。请参阅
崩溃发生在不同设备、不同 Android 版本的总用户中的 0.1%。 android.content.res.Resources$NotFoundException: at android.co
我是一名优秀的程序员,十分优秀!