gpt4 book ai didi

Android Junit 测试-Mockito 类未找到异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:30:23 29 4
gpt4 key购买 nike

我正在尝试在 Android 上构建一个单元测试,它使用来自 mockito.org 的 mockito-all-1.8.5.jar 文件。我使用项目 > 属性 > 项目构建路径 > 添加外部 jar 将 jar 文件添加到我的项目中。这在非 Android java 项目上一直对我有用。

但是,当我运行单元测试时,出现以下类未找到异常:

java.lang.ClassNotFoundException: org.mockito.runners.VerboseMockitoJUnitRunner

上面是下面的信息:

无法加载类。确保它在你的 apk 中。类名:'org.mockito.runners.VerboseMockitoJUnitRunner'。消息:org.mockito.runners.VerboseMockitoJUnitRunner

我检查了 jar ,类就在那里。

我也试过根据这个链接添加:

How to use and package a JAR file with my Android app?

但是,仍然没有运气。我怎样才能找到这个类(class)?

编辑:我认为 Mockitto 所依赖的任何库都存在问题 - 它们可能与 Dalvik jvm 不兼容。看这篇文章:

http://daverog.wordpress.com/2009/12/14/why-android-isnt-ready-for-tdd-and-how-i-tried-anyway/

1) 将模拟框架(例如 mockito)作为附加依赖项导入到项目中。任何包含未编译为 Dalvik 字节码(大多数)的类文件的导入 jar 将无法工作。尝试将源代码与您的项目一起编译也行不通,因为大多数库将广泛使用与 Dalvik 不兼容的 Java 语言部分:它使用自己的库,该库构建在 Apache Harmony Java 实现的子集上。

最佳答案

如果您在 Dalvik JVM 中执行,您将无法使用 Mockito。

但是,如果您在桌面 JVM 上运行单元测试(例如使用像 Robolectric 这样的测试框架),那么您就可以开始了。我目前在我的Android项目中将两者结合起来,效果很好。

关于Android Junit 测试-Mockito 类未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5481714/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com