Я бы не назвал строки, которые вы используете, чтобы проверить, прошел ли ваш тест лишний .Однако, как вы это делаете, требует небольшого рефакторинга:
- что означает
"SERIALIZED"
?Сможете ли вы вспомнить его назначение, скажем, через 2 месяца? - вы используете одну и ту же строку дважды, простая опечатка (что случится) сломает ваш тест.И это то, чего вы хотите избежать
Я предлагаю реорганизовать его в константу всего набора (или всего метода теста , если этот единственный тестэто единственное место, где вы его используете).И дайте ему правильное имя:
final String FAKED_SERIALIZER_OUTPUT = "Any random content";
Object update=new Object();
FileWriter writer=mock(FileWriter.class);
Serializer serializer=mock(Serializer.class);
when(cache.getWriter(update)).thenReturn(writer);
when(serializer.serialize(update)).thenReturn(FAKED_SERIALIZER_OUTPUT);
FileRecorder recorder=new FileRecorder(serializer);
recorder.receive(update);
verify(writer).write(FAKED_SERIALIZER_OUTPUT);
Обратите внимание, что содержимое строки становится неактуальным, учитывая, что имя переменной правильно описывает ее назначение.