Android Studio 1.1,简单的junit测试设置

时间:2015-02-10 10:49:00

标签: android unit-testing junit android-studio

我已经阅读过,有很多广泛的答案(例如this one),但Android世界发展得如此之快以至于它们似乎有点过时而且official documentation仍然指向Eclipse ADT。

我正在运行AS 1.1,我正在尝试设置简单的junit测试以在模拟器上运行,而不使用Robolectric。如果我在build.gradle中没有包含junit,则无法找到@After@Before@Test,我会获得package org.junit does not exist。添加后

// unit tests
androidTestCompile 'junit:junit:4.11'

错误变为

Error:duplicate files during packaging of APK
[...]/app/build/outputs/apk/app-debug-test-unaligned.apk
Path in archive: LICENSE.txt
Origin 1: [...]/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar
Origin 2: [...]/.gradle/caches/modules-2/files-2.1/junit/junit/4.11/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar
You can ignore those files in your build.gradle:
android {
  packagingOptions {
    exclude 'LICENSE.txt'
  }
}

按照控制台建议排除LICENSE.txt后,它会起作用,但感觉就像是黑客。所以我想知道,我可能会错过一些东西吗?感谢。

2 个答案:

答案 0 :(得分:3)

Android Studio单元测试支持带有Gradle插件版本1.1.0-rc1的1.1 Beta 4(release announcement)。 有关official document的更多信息。

然而它现在是实验性功能。例如。它是breaks installDebug gradle任务。

在仪器测试中使用JUnit时,Espresso库有good guide,而新的AndroidJUnitRunner有another

答案 1 :(得分:1)

如果有任何用处,我设置了一个锅炉板项目,允许通过使用切换构建变体来使用单元测试和Espresso测试。你不会需要使用任何第三方插件。

https://github.com/hitherejoe/Android-Boilerplate