2011-12-29 128 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

相關問題