2

我是一名长期的 Java 开发人员,拥有多年的 Java EE、Ant、Maven、单元测试、模拟等。我目前正在使用 gradle 构建 android 应用程序并正在考虑对它们进行单元测试。它让我把头发扯掉了!

我的阅读表明要测试一个应用程序,我必须在测试目录中创建另一个应用程序。但我不确定这个嵌入式应用程序如何看到主要的应用程序类。我认为谷歌提出这个是因为与不同的清单有关。我不确定为什么。

在不使用这个嵌入式应用系统的情况下,我已经能够通过在 APK 中包含测试类和主类、将检测声明添加到清单、部署它并运行测试运行程序来运行单元测试。但我不想用应用程序类编译测试类并包括所有依赖项,所以这不是一个真正的选择,我不确定清单更改的效果,因为我找不到任何关于效果的文档.

遵循 maven 构建系统的 gradle 不理解这些。另请注意,android 方式似乎是嵌入式子项目(测试)依赖于主父项目,这与 gradle 和 maven 完全相反。

另一种选择似乎是将测试项目分开,以便它完全在应用程序项目之外。但实际上,我想使用与 maven 类似的约定,只需将测试与测试资源中的清单一起放在单独的目录中即可。

有没有人设法在运行单元测试的模拟器上进行测试,遵循更 maven 的目录结构?

4

2 回答 2

2

你可以试试Robotium。它为更好的测试用例提供了许多功能。你可以看看这里

于 2013-08-16T12:07:46.063 回答
1

你必须在模拟器中运行单元测试吗?是不是太慢了?我一直在使用 robolectric ( http://pivotal.github.com/robolectric/ ),它创建了类似于模拟的阴影对象。我使用 progaurd ( http://proguard.sourceforge.net/ ) 去除发布版本的测试。

于 2011-05-19T20:53:23.547 回答