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

14 浏览
0 Comments

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

我看了一些资料,有很多详细的答案(比如这个),但是Android的世界发展得太快了,这些答案似乎有点过时,而且官方文档仍然参考的是使用Eclipse和ADT。\n我正在使用AS 1.1,并尝试在模拟器上设置简单的junit测试,不使用Robolectric。如果我在build.gradle中不包含junit,它就找不到@After@Before@Test,并显示package org.junit does not exist。在添加了以下内容后:\n

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

\n错误变成了:\n

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'
  }
}

\n按照控制台建议排除LICENSE.txt后,问题解决了,但感觉有点像是一个hack。所以我想知道,我可能遗漏了什么?谢谢。

0
0 Comments

问题原因:在使用Android Studio 1.1版本进行简单的JUnit测试设置时出现了问题。

解决方法:使用以下的boilerplate项目可以解决该问题,该项目支持通过切换构建变体来进行单元测试和Espresso测试,无需使用任何第三方插件。

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

我将在接下来的几天内更新该项目以适应最新版本的robolectric等相关工具 - 请享用!

0
0 Comments

问题的原因是Android Studio的单元测试支持是实验性的功能,可能会导致一些问题,比如破坏installDebug gradle任务。解决方法是使用Espresso库和AndroidJUnitRunner,可以参考Espresso库的设置指南和AndroidJUnitRunner的用户指南。

0