2013-08-17 69 views
25

我正在使用Android Studio 0.2.4,但我認爲這個問題通常可以與IntelliJ相關。我的測試是在src/instrumentTest/java下進行的,並且都擴展了AndroidTestCase。當我運行所有測試時(比如右鍵單擊源文件夾並單擊「運行...」),測試在Android模擬器上正常運行(如運行/調試配置下所示)。但是,如果我嘗試以同樣的方式運行單個測試方法或測試類(右鍵單擊該方法並單擊「運行...」),測試將作爲正常的JUnit測試而不是模擬器運行當然會失敗(下面的堆棧跟蹤)。即使我嘗試創建一個新的運行配置,我也沒有辦法創建除JUnit配置之外的其他任何東西。如何在Android Studio中運行測試方法或類作爲Android測試

從IDE中,如何將測試方法或測試類作爲Android測試運行?

Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:188) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113) 
Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    ... 3 more 

回答

36

對於任何人仍然關注,這可以在Android Studio 0.2.8中使用。有三種狀態需要注意。

  1. 如果您以前從未運行測試方法或類,則不會有保存的運行配置。因此,右鍵單擊該方法或類,並在運行時顯示測試名稱旁邊應該有一個右箭頭。選擇具有Android符號的那個。

  2. 如果您之前已將測試方法或類作爲常規JUnit測試運行,那麼Android Studio將保存該配置,並且在上下文菜單中的Run下沒有右箭頭或選項。在這種情況下,在文件菜單中選擇Run-> Edit Configurations ...,在JUnit部分下找到你的測試,然後刪除它。那麼你應該處於狀態(1)。

  3. 如果您之前已經將測試方法或類作爲Android測試運行,那麼Android Studio將保存該配置,並且在上下文菜單中的Run下將沒有右箭頭或選項。只要選擇運行應該工作。

+2

和intellij IDEA呢?你有沒有找到任何解決方法? –

2

您是否在Android Studio中正確設置了測試代碼? Gradle在Android Studio中的最新約定是致電您的測試目錄'androidTest'。然後在您的build.gradle文件,你需要把:

androidTest.setRoot('androidTest') 
    androidTest.java.srcDirs = ['androidTest/java'] 

然後你就可以在任何測試類單獨右鍵單擊並運行它。

編輯: 這些說明僅適用於濃縮咖啡測試。

+1

這幫助我在kotlin中識別出kotlin測試文件androidTest.java.srcDirs + ='src/androidTest/kotlin'' –

相關問題