【发布时间】:2016-02-03 20:32:11
【问题描述】:
我正在使用 JMock 来测试使用对象的类的行为。我想测试是否调用了方法a()。但是,b() 和 c() 也会在对象上被调用。因此,如果我的期望期望a(),它也必须期望b() 和c() 使测试通过。有没有办法只测试某种方法,并允许其他方法?
【问题讨论】:
我正在使用 JMock 来测试使用对象的类的行为。我想测试是否调用了方法a()。但是,b() 和 c() 也会在对象上被调用。因此,如果我的期望期望a(),它也必须期望b() 和c() 使测试通过。有没有办法只测试某种方法,并允许其他方法?
【问题讨论】:
期望 a() 只允许方法 b() & c()
mockery.checking(new Expectations() {{
one(mockObject).a();
allowing(mockObject).b();
allowing(mockObject).c();
}});
期望a() 允许所有其他方法。
mockery.checking(new Expectations() {{
one(mockObject).a();
allowing(mockObject);
}});
【讨论】: