2015-07-02 3 views
0

foo.toString() возвращаетEasyMock согласовань на возвращаемом значении

"[id: <id>, stuffIdontCareAbout: 0]" 

Я хочу, чтобы проверить, что идентификатор правильно, но все остальное в строке может иметь любое значение. Это то, что я пробовал:

expect(foo.toString()).andReturn(EasyMock.find("[id: 42,")); 

но вот как он жаловался:

java.lang.IllegalStateException: 0 matchers expected, 1 recorded. 
This exception usually occurs when matchers are mixed with raw values when recording a method: 
    foo(5, eq(6)); // wrong 
You need to use no matcher at all or a matcher for every single param: 
    foo(eq(5), eq(6)); // right 
    foo(5, 6); // also right 

Итак, как же я использую EasyMock Искателя на возвращаемое значение?

+0

Я не понимаю. Вы издеваетесь над foo. 'foo.toString()' вернет все, что вы скажете, чтобы вернуться. –

+0

О. Да, ты прав. Благодаря! – justinjhendrick

ответ

0

Это не похоже на насмешку. Кажется, вы только хотите проверить результат foo.toString().

Использование AssertJ (который я рекомендую), означало бы делать

assertThat(foo.toString()).startsWith("[id: 42,"); 
Смежные вопросы