2011-12-29 85 views
2

我正在尝试向Intellij中的应用程序添加一些单元测试。由于我的应用程序使用Google Maps,因此我的Build Target设置为“Google API(2.1)”。我的项目编译和运行良好,但是当我试图创建一个使用任何的IntelliJ的内置工具或命令行工具的测试中,我得到这个错误:尝试在使用Google API时在Android中创建测试时出错

Found main project package: com.project
Found main project activity: .mainActivity
Error: Unable to resolve main project target 'Google Inc.\:Google APIs\:7'. You may want to install the platform in your SDK.

任何想法?

回答

0

好的,我解决了它,这是一个公认的不完美的修复。我手动编辑project.properties将我的目标更改为android-7,然后使用命令行实用程序创建我的测试项目。目标已经改回到正确的目标,我的测试似乎现在可以正常工作。感谢大家的帮助。

+0

嗨,面临同样的问题:当为简单的android项目创建junit时 - 这个想法说的是相同的(仅适用于8 api)。如果命令行工具修复了问题并恢复了编辑的project.properties - 为什么你应该手动编辑它们? – yetanothercoder 2012-05-19 12:57:11

0

你的测试应该扩展android.test.InstrumentationTestCase。请参阅测试教程了解更多详情

(不知道的IntelliJ的内置工具确实,虽然 - 它创造的Android测试项目?)

+0

它甚至没有得到测试创建。根据[文档](http://developer.android.com/guide/developing/testing/testing_otheride.html),自动工具应该能够创建一个shell测试,但是在那个时候,我得到这个错误。 – 2011-12-29 17:33:41

0

您已经安装了Android的SDK,但个别的API来单独包。只需在SDK中启动android工具并安装缺少的工具即可。至于测试,我会建议坚持正常的JUnit和使用嘲讽框架(jMockit是不错的选择)

+0

我表明我已经安装了用于Android 2.1(我的目标)的Google API。这是[截图](http://i.imgur.com/NX1sw.png)。 – 2011-12-29 17:36:46

0

不是一个真正的问题的直接答案,但FWIW,我已经在IntelliJ中的GMaps项目上使用Robolectric。像魅力一样工作:只要确保将robolectric jar放在模块依赖项的顶部,并将其标记为“测试”依赖项,以便它不会被编译到应用程序中。

+0

谢谢。我会给这个甘德并报告。 – 2011-12-30 17:57:43

相关问题