Android单元测试——解决&验证问题

标签 android unit-testing build junit

我刚刚改变了我的 Android 项目的构建方式,我的单元测试不再工作......我收到类似

的错误
WARN/dalvikvm(575): VFY: unable to resolve static field X in .....
WARN/dalvikvm(575): VFY: unable to find class referenced in signature

这些错误仅来 self 的单元测试,其中定义的类甚至看不到单元测试中定义的其他类。

之前每个项目都有自己的目录,其中包含第 3 方 jar 文件的副本。我读到过 Dex 对引用做了一些奇怪的事情,但一直无法弄清楚如何解决这个问题。有一个更好的方法吗?我很想看到一个大型 Android 工作区的示例,其中有多个项目、jar 引用等...

是否可以通过调整订单/导出来解决此问题?

项目结构如下:

  • Eclipse 工作区(PROJECT_HOME 类路径变量)
    • 第 3 方 jar
    • android.jar
  • Java 项目 A
    • 查看 PROJECT_HOME
  • Java 项目 B
    • 查看 PROJECT_HOME
    • 取决于项目A
  • 安卓项目
    • 取决于 A 和 B
    • 查看 PROJECT_HOME
  • Android 测试项目
    • 依赖于 A , B, Android 项目
    • 查看 PROJECT_HOME

最佳答案

不要在测试项目中包含第 3 方 jar。在被测项目中导出即可:项目属性->java构建路径->排序并导出。完成此操作后,您就可以进行清洁了,它应该可以正常工作。

关于Android单元测试——解决&验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403691/

相关文章:

android - 可扩展 ListView 项目高度,其中包含另一个 ListView

java - 使用 JSON 从字符串中解析数组?

java - 安排Android服务在手机重启后重新启动

java - 在测试中模拟 Autowiring 的对象

对类加载有副作用的 iOS 模拟类

在windows下在stm32端口构建micropython

java - 处理 OnErrorResponse 方法 - Volley

java - 如何使用 Spring 运行数据库单元测试 - 无法加载 ApplicationContext

gradle:禁止在多项目应用程序的根目录创建构建文件夹

java - 如何使用 Maven 创建具有依赖项的可执行/可运行 JAR?