android - 如何用IDEA+Gradle+Android运行单元测试

标签 android unit-testing gradle gradle-android-test-plugi robolectric-gradle-plugin

我用 Robolectric 在我的 Android 项目中编写了一些单元测试,其中一些甚至不使用 Android。

我先试过这个:robolectric-gradle-plugin , 关注 this template . 结果是我遇到了 this bug in IDEA ,这是我自己报告的。

然后我尝试了另一种可能性:gradle-android-test-plugin ,它将测试分隔在另一个子模块中,这是一个常规的 Java 项目。我试着按照这个 other template .我打开了这个 bug report .

然后我又遇到了other bug .

您可以向我提供哪些有效的建议?

最佳答案

最后我不得不将 IDEA 升级到 14 EAP,并且知道它工作正常。

gradle-android-test-plugin 似乎比 robolectric 插件工作得更好,因为我可以轻松运行 JUnit 和 ScalaTest 测试。我必须使用脚本安装,即未发布的 com.novoda:gradle-android-test-plugin:0.9.9-SNAPSHOT。

这真是 hell 的版本组合:

  • Android 构建工具
  • Gradle
  • com.android.tools.build:gradle
  • 想法
  • 机器人
  • robolectric 插件
  • ....

其中之一的任何更改都可能导致您的项目失败。

幸运的是,通过使用 Gradle,您可以修复每个组件的版本,并进行持续集成。

关于android - 如何用IDEA+Gradle+Android运行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24752952/

相关文章:

Android ARP清除时间

c# - 如何测试单击按钮是否使用 NUnitForms 打开新表单?

java - 错误 : package com. nguyenhoanglam.imagepicker.activity 不存在

javafx - JAVA_HOME 设置为无效目录

安卓工作室 : How to remove/filter build variants for default debug and release buildTypes and keep only those using custom buildTypes?

javascript - PhoneGap 应用程序的 XMLHttpRequest POST 数据丢失

android - 如何将qt5 qml插件部署到android?

android - Android模拟器中GPS信号模拟丢失

node.js - 使用 Jest 测试 Express 时,有办法修复此 "TypeError: express.json is not a function"吗?

java - 如何编写带参数的单元测试?