2015-08-28 4 views
1

Название переменной Это код, который я пытаюсь проверить с JMockit:JMockit - Как проверить метод был вызван на локальном

public void unitUnderTest() { 
    doSomething(); 
} 

private void doSomething() { 
    Foo foo = new Foo(); 
    foo.setExtraFooness("its extra fooness"); 
    ... 
    ... 
} 

Можно проверить, что foo.setExtraFooness("its extra fooness"); называлась?

+0

Нет, потому что это настоящий объект. Для этого нужно было бы издеваться над этим. –

ответ

1

Вы всегда можете проверить звонки на издевался методы:

@Test 
public void exampleTest(@Mocked Foo foo) { 
    new ClassUnderTest().unitUnderTest(); 

    new Verifications() {{ foo.setExtraFooness("whatever"); }}; 
} 

Тем не менее, это вообще лучше избегать насмешливый, когда вы действительно хотите, чтобы проверить состояние . Если объект foo может быть получен из тестируемого объекта, тогда тест должен просто написать стандартное утверждение для проверки его состояния.

+0

Помимо создания foo final, он работал как шарм !! Спасибо, Роджерио. – EMM

Смежные вопросы