2015-03-02 257 views
0

道歉可能看起來像一個愚蠢的職位。使用Mockito進行測試

如何在最新版本的Android Studio SDK上運行Mockito? 並且你可以使用Android Studio平臺使用Mockito運行多個測試嗎?

我在Eclipse上使用Mockito並在同一窗口中運行多達6個測試。但我試圖弄清楚如何在Android Studio平臺上執行此操作,並且找不到任何網站或教程的答案。

+0

沒有什麼特別的。你只需從JUnit中'TestCase',在'setUp'中準備你的模擬。要運行測試,您必須使用Android Test Runner(您可以從IDE中選擇它)。請注意,Android SDK包含許多不能被嘲笑的最終課程。 – Eugene 2015-03-02 14:52:42

+0

啊對了。謝謝,我從來不知道。我會密切關注那 – Peter3514608 2015-03-02 16:02:58

回答

1

Android Studio 1.1現在已經內置了對單元測試的支持。從Unit testing support - Android Tools Project Site

Unit tests run on a local JVM on your development machine. Our gradle plugin will compile source code found in src/test/java and execute it using the usual Gradle testing mechanisms. At runtime, tests will be executed against a modified version of android.jar where all final modifiers have been stripped off. This lets you use popular mocking libraries, like Mockito.

You will have to specify your testing dependencies in the build.gradle file of your android module. For example:

dependencies { 
    testCompile 'junit:junit:4.12' 
    testCompile "org.mockito:mockito-core:1.9.5" 
} 

該頁面還包含了一步一步的指導,設立Android Studio中的單元測試,包括單元測試創​​建一個單獨的目錄:

  1. Create a directory for your testing source code, i.e. src/test/java . You can do this from the command line or using the Project view in the Project tool window. The new directory should be highlighted in green at this point. Note: names of the test source directories are determined by the gradle plugin based on a convention.

我目前正在使用junit 4.12和Mockito 2.0.5測試版在Android Studio 1.1中進行單元測試,並且沒有任何問題:

dependencies { 
    // ... 
    testCompile 'junit:junit:4.12' 
    testCompile "org.mockito:mockito-core:2.0.5-beta" 
} 

至於在同一時間運行多個測試,你的意思是測試用例?測試課程?測試套件?請澄清,如有需要,我會更新我的答案。

+0

是的,在Eclipse中,我有多個測試用例測試程序的不同位。我想知道Android是否與Mockito一樣工作.................我使用了上面的依賴關係,並且出現如下錯誤:...... .......錯誤檢索項目找不到匹配給定名稱'theme.appcompat.light'的資源。darkactionbar' – Peter3514608 2015-03-02 15:50:52

+0

我修正了我遇到的錯誤....感謝所有你們。我將在Android上玩Mockito :) – Peter3514608 2015-03-02 16:10:11

0

在您的應用程序中打開app/build.gradle文件,並將mockito添加到依賴關係中,如果依賴關係不存在,您可以繼續並創建它。

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile 'org.mockito:mockito-core:1.10.8' 
    androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.1' 
} 

然後在單元測試中,只需要創建一個模擬對象,你通常會: http://site.mockito.org/#how

單元測試應該是應用/ src目錄/ androidTest /文件夾下。

+0

謝謝,我會試試:) – Peter3514608 2015-03-02 15:28:18

+0

我創建了Mockito依賴關係,就像你建議的那樣。它與Android Studios同步,但它由於某種原因帶來了Styles.xml文件,並且正在生成和錯誤: – Peter3514608 2015-03-02 15:33:11

+1

單元測試應該在src/test /或src/androidTest /下,具體取決於你想要的位置運行它們,本地JVM或設備/仿真器。 – 2015-03-06 13:43:42

0

我可以驗證接受的答案是正確的,但只是爲了進一步答案,將有一個androidTest文件夾旁邊的主文件夾。通常你會使用androidTest文件夾進行檢測。只要確保在構建變體面板下,測試工件:被選擇爲「單元測試」,否則build.gradle中的testCompile將不起作用。我花了一段時間才弄清楚這一部分。

希望它有幫助。