草庐IT

RoboLectric

全部标签

android - Robolectric:使用 ViewHolder 模式测试 ListView 会导致 NullPointerException

我有一个ListActivity,它的适配器实现了ViewHolder模式。适配器和viewholder:privateclassPlaceAdapterextendsArrayAdapter{finalintviewResourceId;publicPlaceAdapter(Contextcontext,inttextViewResourceId,Listobjects){super(context,textViewResourceId,objects);viewResourceId=textViewResourceId;}@OverridepublicViewgetView(int

android - Robolectric 不使用 ShadowWebView 作为扩展 WebView 的类的父类(super class)。 MustOverrideException 代替

我试图让Robolectric2.1与我的项目一起工作,并在我的WebView子类尝试在其WebSettings上调用setDatabasePath时收到MustOverrideException。我有一个自定义应用程序类,它试图在onCreate中创建WebView子类的实例。作为WebView构造函数的一部分,它尝试设置数据库路径。我本以为,由于getSettings是从WebView调用的,所以该调用会真正命中ShadowWebView,它应该返回一个不会抛出这些异常的TestWebSettings对象。相反,它似乎只是调用普通的WebSettings.getSettings并返

android - Robolectric 与 test.R.java

我在API21有一个使用robolectric3.0的库项目,带有com.android.tools.build:gradle:1.3.1。我想使用测试资源(好像在src/androidTest/res/...下),即com.mypackage.test.R.java(如反对用于生产的com.mypackage.R.java)在robolectric测试中。我目前拥有的:目录结构为src/main/javarestest/java//noresherebecauseit'snotpickedupandroidTest/res//pickedupbyandroidTestbuildvar

java - Robolectric 给我一个 java.lang.IllegalArgumentException : INTERNET permission is required

我正在为现有应用改造单元测试。当我运行这个简单的单元测试时importorg.junit.Test;importorg.junit.runner.RunWith;importorg.robolectric.RobolectricGradleTestRunner;importorg.robolectric.annotation.Config;importstaticjunit.framework.Assert.assertTrue;@RunWith(RobolectricGradleTestRunner.class)@Config(constants=BuildConfig.class,

android - 使用 robolectric 检查是否在 UI-Thread 上调用了方法

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭9年前。Improvethisquestion这里有人知道如何编写测试(或者最好有一个示例)来检查是否在UI线程上调用了一个方法吗?

android - 使用 robolectric 测试改造 2,未调用回调

我正在尝试使用服务器为我的restfulapi创建单元测试。经过一些研究,我想出了一个使用robolectric和OkHttpMockWebServer的解决方案。.这是我的(简化示例):API接口(interface):publicinterfaceServerApi{@POST("echo")Callecho(@BodyEchoRequestDatadata);}响应/请求数据对象:publicclassEchoRequestData{privatefinalStringvalue;publicEchoRequestData(finalStringvalue){this.value

java - Robolectric - AndroidStudio - 找不到参数的方法 testCompile()

我正在尝试在AndroidStudio中使用Robolectric和AssertJ运行一些基本的单元测试。我已使用testCompile方法将Robolectric、AssertJ和JUnit添加到我的build.gradle文件中。但是,当我尝试实际运行单元测试时,我继续收到一条错误消息“找不到方法testCompile()”。我已经尝试用androidTestCompile替换testCompile方法,如前所述here,但是找不到要导入到我的SampleTest.java类中的Robolectric、AssertJ和JUnit类。我还创建了一个非常基本的示例应用程序,看看我是否能

使用 Robolectric : java. lang.InstantiationException 的 Android 库 JUnit 测试

尝试使用Robolectric在Android库项目上运行JUnit测试时出现以下错误:java.lang.RuntimeException:java.lang.InstantiationExceptionatcom.xtremelabs.robolectric.ApplicationResolver.newApplicationInstance(ApplicationResolver.java:56)atcom.xtremelabs.robolectric.ApplicationResolver.resolveApplication(ApplicationResolver.java:

android - Robolectric:测试取消对话不会启动新 Activity

我正在开始使用Robolectric进行单元测试。我有一个按钮,单击该按钮会向用户弹出一个确认对话框。当用户点击BUTTON_POSITIVE时,一个新的Activity开始,点击BUTTON_NEGATIVE,没有任何反应,用户停留在当前Activity。对于BUTTON_POSITIVE用例,我能够通过以下方式进行测试:dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();assertThat(currentActivity,newStartedMatcher(NextActivity.class));对于

android - 使用 robolectric v3.0 测试 WiFi 连接时,ShadowNetworkInfo 始终为 TYPE_MOBILE

我正在尝试使用Robolectric(3.0RC2)为Android应用程序中的SyncAdapter实现编写一些离线测试。该应用程序将在使用wifi连接的工厂中的无SIM卡手机上运行。所以我希望能够针对我的wifi连接检查代码编写测试。我已经编写了一个简单的测试,基于我在网上找到的示例来隐藏ConnectionManager以模拟在wifi上。然而,尽管将NetworkInfo设置为TYPE_WIFI,连接管理器总是返回TYPE_MOBILE的NetworkInfo类型。所以我的testSimple的最终断言失败了。我错过了一步吗?importandroid.content.Cont