2014-11-17 2 views
1

В Mockito, если вы хотите метод недействительным не делать ничего вы можете сделать это:JMockit equivelant к Mockito doNothing()

doNothing().when(_mockedClass).voidMethod(); 

Есть ли способ сделать это с JMockit?

Кажется, я ничего не могу найти об этом. Я пытался переключиться на JMockit, но мне трудно найти документацию для некоторых вещей, которые мы делаем с Mockito. Я подозреваю, что они все там в той или иной форме, просто не найдя их, поэтому я решил, что я начну задавать один вопрос одновременно и надеюсь, что есть легкие ответы! Благодаря!

+1

Недействительные методы ничего не делают по умолчанию с Mockito издеваться. – Brice

+0

Они? У меня есть регистратор, где вы будете вызывать методы void для регистрации вещей, например: logger.error ("logthis"); Хотя эти проблемы на самом деле не вызывают проблем в тесте, он все равно регистрирует эти вещи, даже несмотря на то, что регистратор издевается. Я обошел это с помощью вышеупомянутого подхода «ничего не делать», чтобы остановить его от регистрации этих вещей. Так ты говоришь, что это не должно было регистрироваться вообще, если бы я правильно оценил это? – Pewsplosions

+0

Да, он ничего не делает, иначе это не макет (это шпион или частичный макет (частичный макет - это не очень хорошо)). Может быть, этот метод является «последним», поэтому его еще нельзя издеваться над mockito. – Brice

ответ

1

Как и с Mockito, на самом деле, если вы хотите, чтобы метод ничего не делал, просто не записывайте для него ожидания. В качестве альтернативы вы можете записать ожидание без result, но в этом нет необходимости (или точки к нему).

(Это было только не в случае, когда с помощью строгих ожидания (с new StrictExpectations() {{ ... }}), в этом случае все вызовы метода должны быть учтены.)