jMock Mocking Classes and Interface
我正在尝试将 jMock 作为我项目的模拟框架。我遇到了一种情况,我需要同时模拟一个类和一个接口。我使用 ClassImposteriser.INSTANCE 来启动上下文的冒名顶替者。
假设要模拟一个类 Validator 和一个接口 Person。当我要模拟接口 Person 时,我遇到了一个问题 NoClassFoundDefError。当我模拟类 Validator 时,没有问题。
我需要那个类和接口,但我无法解决问题。
请帮忙。
代码示例:
嘲讽
private Mockery context = new JUnit4Mockery() {{ setImposteriser(ClassImposteriser.Class) }};
类:
private Validator validator;
接口:
private Person person;
内部测试方法
validator = context.Mock(Validator.class); —-> Working
person = context.Mock(Person.class); —-> NoClassFoundDefError
- 请添加代码示例以使您的问题更清楚。也许我可以帮助你..
您提供的代码不会编译(它应该是 ClassImposteriser.INSTANCE)。下面的示例代码似乎工作正常。或许您可以提供更多详细信息?
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public class Example {
private Mockery context = new JUnit4Mockery() { { setImposteriser(ClassImposteriser.INSTANCE); } }; @Test // do some stuff… public static interface Person { public static class Validator { |
- 注意:从 jmock 2.11.0 开始,ClassImposteriser 已被弃用,取而代之的是名称古怪的 ByteBuddyClassImposteriser。 github.com/jmock-developers/jmock-library/blob/master/…
来源:https://www.codenong.com/968171/