Java JMockit-如何验证在本地变量上调用的方法
这是我试图用JMockit测试的代码:Java JMockit-如何验证在本地变量上调用的方法,java,jmockit,Java,Jmockit,这是我试图用JMockit测试的代码: public void unitUnderTest() { doSomething(); } private void doSomething() { Foo foo = new Foo(); foo.setExtraFooness("its extra fooness"); ... ... } 是否可以验证foo.setExtraFooness(“其额外fooness”)已调用?您始终可以验证对模拟方法的调用: @Test pub
public void unitUnderTest() {
doSomething();
}
private void doSomething() {
Foo foo = new Foo();
foo.setExtraFooness("its extra fooness");
...
...
}
是否可以验证
foo.setExtraFooness(“其额外fooness”)代码>已调用?您始终可以验证对模拟方法的调用:
@Test
public void exampleTest(@Mocked Foo foo) {
new ClassUnderTest().unitUnderTest();
new Verifications() {{ foo.setExtraFooness("whatever"); }};
}
也就是说,当您确实想要验证状态时,通常最好避免模拟。如果foo
对象可以从被测对象中获得,那么测试只需编写一个常规断言来验证其状态。No,因为它是一个真实的对象。为了做到这一点,它必须是模拟的。除了让foo决赛,它还很有魅力!!谢谢罗格里奥。