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

tic*_*fab 6 junit android unit-testing android-studio

我已经阅读过,有很多广泛的答案(比如这个),但Android世界发展得如此之快,以至于它们似乎有点过时,官方文档仍然指的是带有ADT的Eclipse.

我正在运行AS 1.1,我正在尝试设置简单的junit测试以在模拟器上运行,而不使用Robolectric.如果我不包括在我的JUnit build.gradle,它无法找到@After,@Before并且@Test和我package org.junit does not exist.加入后

// unit tests
androidTestCompile 'junit:junit:4.11'
Run Code Online (Sandbox Code Playgroud)

错误变成了

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'
  }
}
Run Code Online (Sandbox Code Playgroud)

根据控制台建议排除LICENSE.txt,它可以工作,但感觉就像一个黑客.所以我想知道,我可能会错过一些东西吗?谢谢.

Kir*_*nov 3

Android Studio 单元测试支持来自 1.1 Beta 4(发布公告)和 Gradle 插件版本1.1.0-rc1。更多信息参见官方文档。

但目前它还是实验性功能。例如,它破坏了 installDebuggradle 任务。

对于在仪器测试中使用 JUnit, Espresso 库有很好的指南,另一个涵盖了新的 AndroidJUnitRunner。