gpt4 book ai didi

android - 如何使用 jMock ClassImposterizer 进行 Android 单元测试?

转载 作者:搜寻专家 更新时间:2023-11-01 09:13:53 25 4
gpt4 key购买 nike

在我的单元测试中,我尝试了以下方法:

import org.jmock.Mockery;
import org.jmock.Expectations;
import org.jmock.lib.legacy.ClassImposteriser;

public class MyActivityTest extends ActivityUnitTestCase<MyActivity> {
private Mockery context = new Mockery() {{
setImposteriser(ClassImposteriser.INSTANCE);
}};

...
}

我的预期用途是模拟我项目的应用程序子类。但是,当我运行测试时,我得到一个 java.lang.ExceptionInInitializerError。我不能使用 ClassImposteriser 扩展来运行 Android 单元测试吗?

最佳答案

这是我几个月前广泛研究的内容。不幸的是,dalvik VM 目前不支持模拟具体类所需的字节码操作。

因此您将无法使用任何模拟库来模拟类。您必须为要在 Android 测试中模拟的每个类提取一个接口(interface),然后模拟该接口(interface)。

一些关于 davlik 限制的进一步阅读:

关于android - 如何使用 jMock ClassImposterizer 进行 Android 单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6105822/

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