问题标签 [robolectric]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Robolectric 是否能够断言方法已被调用?
我在布局中定义了一个按钮,如下所示:
绑定到我的活动中的onClick
方法,例如:
使用 Robolectric,我可以为该活动创建一个简单的测试类,我想知道我是否可以进行调用按钮的测试,并确保我的活动中的方法被调用正常。
(我的应用程序中有一大堆按钮,因此打算进行测试以确保它们正确连接,除非有人对我为什么不应该打扰有任何建议)
java - 是否有用于更改目录的 JVM 命令行选项?
简而言之,我想知道,是否有 JVM 命令行选项可以更改起始工作目录?如果它很重要,我正在运行 jdk1.6.0_24。
背景:
我正在使用一个名为 Robolectric for Eclipse 的工具来测试主机 PC 上的 Android 应用程序,而无需仿真。Robolectric 需要创建一个测试项目,但测试本身要从被测试的 Android 项目中运行。这是通过从 Eclipse 中完成的,在设置中将运行配置设置为被测项目:“运行所选项目、包或源文件夹中的所有测试”。
如果可能,我想从 JVM 命令行选项执行此操作,因为我使用的另一个工具Infinitest不允许您指定测试的工作目录。但是,它允许您指定 JVM 命令行选项。
解决方法:
在我找到更好的解决方法之前,一个成功的方法是从 Android 项目中复制 AndroidManifest.xml 和 res 文件夹。
android - Android:使用 Robolectric 和 Mockito 对 Android 应用程序进行单元测试
我有一个 Java 库,它使用了一些来自 Android API 的东西。我想使用 Mockito 为这个库编写单元测试。
有什么办法可以解决这个问题吗?
Mockito 在 Dalvik VM 上表现不佳,请参阅这篇文章:Using Mockito with Android virtual machine
更新:
自从这篇文章以来,我发现了 Robolectric,并且有机会在 Pivotal Labs 工作,并为这个库做出了一些小的贡献。我建议在 Android 测试框架/mockito 上使用它。此外,您可以自由使用 Robolectric 和 Mockito,但 Robolectric 中的阴影对象使 Mockito 在大多数用例中变得不必要。
尝试对 Android 进行单元测试的问题在于,您构建的 Android 库的每个方法都被存根,要么抛出存根异常,要么返回 null。如果您想测试您的应用程序并想要任何 Android 行为,那么您就不走运了,除非您使用 Robolectric,它会在类加载时动态重写字节码,并注入一个模拟行为的影子对象。
更新 2:
已经有一段时间了,情况发生了变化。Robolectric 中的许多 Shadow 类已替换为真正的 Android 类。现在使用真正的 Android jars,并且 Robolectric 只为更小的一组东西加载 Shadow 类。这也是使用 Robolectric 进行 Android 测试的更多理由。
java - 未找到 Android Robolectric 软件包。未知包装:apk
嗨,我正在尝试使用 maven android 插件和 robolectric 来进行测试。现在我只有一个在 src/test 下的测试类。我已经按照这里的说明来尝试让它工作: http: //pivotal.github.com/robolectric/maven-quick-start。 html
更新:我已经听从了在这里发布给我的人的建议,这里是我最新的 Pom.xml 和编译输出。
这是我的 Pom.xml:
mvn clean install 的输出:
dependency-injection - 尝试对 RoboGuice.newDefaultRoboModule() 进行单元测试并使用 Roboguice 2.0b3 和 Robolectric 失败
我一直在查看 RoboGuice 2 的 astroboy 示例代码和文档,我真的很难过。我希望你们都可以帮助我尝试一些事情。这里的目标是测试模块以确保它正在加载并且 IoC 正在工作/连接。
我的有两种不同...我的模块在一个库类中,语法相同:
我在值文件夹的库类中也有 roboguice.xml
测试项目引用了应用程序项目,该项目引用并导出了库项目。
在测试项目中是这样的:
在设置过程中,它总是会出现某种空异常。我已经打破了这一点,特别是使用 newDefaultRoboModule 方法。我知道 Robolectric.application 不为空,并且我知道 new MyTestModule 也不为空。虽然在单步调试器时,我发现 MyTestModule.binder 为空,所以我不知道这是否是一个问题。
错误堆栈跟踪:
我还应该去哪里看?我对所有这些如何通过测试绑定感到迷茫。
感谢您的关注,凯利
android - 如何断言给定的 contentView 是使用 Robolectric 设置的?
给定以下示例onCreate()
我想要做的是对该活动进行单元测试,以确保我可以根据创建活动时传入的附加内容来设置任一内容视图。
到目前为止,我的 Robolectric 测试中有以下内容:
我怎样才能做到这一点?我查看了 API,但看不到任何明显的定位内容视图的方法,findViewById()
但我希望布局不是单独的视图项。
谢谢
android - Robolectric “警告:无法找到 Android SDK 的路径”
我正在使用 Robolectric 而不使用 maven 来构建,这意味着我正在使用 Robolectric-with-dependencies Jar。
我根据 Robolectric 网站上的说明进行了设置,但我仍然收到警告:无法找到 Android SDK 的路径”错误。我找到了这个链接(第一个答案),它提到了问题的出处,但没有回答我如何解决这个问题。
我是新手,从来没有发布过,因为我通常可以在浏览一段时间后找到解决方案,但是我没有找到解决方案的运气。任何事情都会有所帮助。谢谢。
android - 是否可以使用 robolectric 进行真正的 http 请求
我对 robolectric 的问题是它不能生成真正的 HttpRequest。
我可以使用真正调用我的本地测试服务器的真实的 HttpClient 实现来替换 robolectric 吗?
android - 单元测试ArrayList
在我的应用程序中,我将 XML 文件的内容解析为两个数组。在我的单元测试中,如何从被测活动中获取这些 ArrayList,以便我可以测试它们的长度是否正确且内容是否正确?使用我目前使用的方法,尽管我知道解析工作正常,但数组始终为空。(解析方法在被测Activity的onCreate()方法中调用。)
来自 TroubleShooterActivity 的代码
android - Robolectric 可以断言标签加载预期的活动吗?
我有一个活动,有 2 个选项卡,每个选项卡都指向一个活动,所以我总共有 3 个。
LoggedInActivity > MyProfile 或 MyBadges
}
我的问题是,如何设置一些 Robolectric 测试来断言当您单击选项卡标签时,它会显示正确的选项卡活动?
在之前的活动到活动断言中,我做了这样的事情:
但是我找不到任何关于如何在 Robolectric 中测试选项卡的帮助/提示/教程,即使是JavaDocs似乎也有点稀疏
任何帮助将不胜感激
编辑 1: 在 API 中指向更合适的类之后,这就是我迄今为止提出的:
出现以下故障:
我是否不明白如何测试标签?