gpt4 book ai didi

java - EasyMock + Roboelectric + 类模拟

转载 作者:行者123 更新时间:2023-11-30 02:43:22 24 4
gpt4 key购买 nike

我正在尝试为 Android 编写一些单元测试,我有以下组合:

1) Roboectric(我想在 JVM 和 Dalvik 上运行测试)

2) EasyMock(我需要模拟类/接口(interface))

3) 我想模拟一个类。

如果我使用 EasyMock 3.1,效果会很好。它不了解 Android,所以它愉快地使用 cglib 的东西并为 JVM 创建字节码并为类创建模拟(与它为任何非 Android 应用程序执行此操作的方式相同)。

但是,如果我切换到 EasyMock 3.2,它就不起作用了。它开始给出“ClassNotFoundException”。我觉得它很困惑。一方面,它看到它是 Android 环境,所以它可能会做一些与 Android 相关的事情。另一方面,由于 Roboelectric,它可以在 JVM 上运行(相对于 Dalvik)。

你知道如何在 EasyMock 3.2 或更高版本中关闭 Android 感知来解决这个问题吗?

最佳答案

查看 jira.codehaus.org/browse/EASYMOCK-108,他们添加了 Android 支持以使用 easymock 运行测试作为仪器测试的一部分。我的建议:

  1. 愚蠢 - 如果你真的不需要 3.2,请继续使用 3.1
  2. 如果您使用 maven 或 gradle - 检查 easymock 的依赖项并尝试排除“dexmaker”
  3. 另一个傻瓜 - 使用 mockito

关于java - EasyMock + Roboelectric + 类模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25457144/

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