小编Phi*_*ons的帖子

在Android Studio中为单元测试设置自定义资源目录

我们有一个非常罕见的要求,即我们的Android应用程序执行单元测试,这些测试使用了仅需要进行单元测试的资产.

使用基于Eclipse的SDK,这很简单明了 - 测试项目是一个带有自己资产文件夹的独立项目.对于Android Studio,这意味着可以在build.gradle(或按惯例)配置.

最后,我们的单元测试正在执行,但是我已经用尽了所有关于自定义(和理想情况下,合并)资源文件夹的建议.这是我尝试过的:

  • 在android闭包中向sourceSets添加一个测试闭包(通过闭包我的意思是在build.gradle中的花括号之间).

    androidTest {
        assets.srcDirs = ['src/androidTest/assets/']
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 同样的事情,但使用"test"作为sourceSet的名称(与上面的"androidTest"相对)以及"instrumentTest".

  • 上述各种组合,加上androidTest.setRoot("测试"),androidTest.setRoot("androidTest"),两者都导致我们的单元测试不能被识别("空套件").

这个问题可以更一般地说是"如何在Android Studio中使用不同的目录进行单元测试".

我们已经浏览了Android的文档,要么我们不理解它,它是错误的,或者某处有错误.

任何帮助将非常感谢.

android unit-testing gradle android-studio

28
推荐指数
3
解决办法
1万
查看次数

安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES

冒着重复似乎是一个非常普遍的抱怨的风险,我想我对这个bug有很大的不同.

应用程序不会从Eclipse安装,并且会出现在控制台中:安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES.

LogCat提供了一些照明:包com.xxx在entry assets/fonts/helvetica_neue.ttf没有证书; 无视!

意味着设备(或仿真器)认为此特定文件未签名.

为此提出的通常解决方案是:
- 重命名违规文件.我们已经尝试过,然后它会抱怨下一个文件,然后是下一个文件,依此类推.
- 添加一个虚拟文件.也试过了.它抱怨新文件,无论它叫什么.
- 编译大于Android 1.6.我们正在编译2.3.

值得注意的是,只有在我们启动单元测试时才会发生这种情况.我们可以毫无困难地自行安装"真正的"应用程序.我们也使用Maven,当然还有Maven Android插件.

任何见解或建议都会非常受欢迎,当然如果我们自己想出来,我会发布任何调查结果.

android

17
推荐指数
4
解决办法
5万
查看次数

标签 统计

android ×2

android-studio ×1

gradle ×1

unit-testing ×1