могу ли я расширить объект Jmock с пользовательским кодом - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть интерфейс обратного вызова из ~ 10 методов, которые я использую в модульном тесте.Мне нужно проверить значение строки XML, установленной во время теста.

Я уже посвятил себя jmock для других тестовых случаев.

Кажется, что предпочтительный способ jmock сделать это - написать собственный org.hamcrest.Matcher объект для проверки значений возвращаемой строки.

Однако это звучит сложно.Есть ли более простой способ?

  • Есть ли простой способ получить средство сопоставления jmock для передачи значения String во вложенную строку []?Затем я мог бы проверить строку вне предложения jmock
  • Существует ли простой способ расширения фиктивного объекта, чтобы я реализовал свой собственный метод.Я надеялся на что-то вроде
Callback testCB = mockery.mock(Callback.class)
{
    public void myOverrideMethod(String strIn)
    {
        ... I can examine the string values in here ...
    }
};

Конечно, я мог бы определить свой собственный объект-заглушку, но я ленивый ...

1 Ответ

0 голосов
/ 24 января 2012

Если вы знаете достаточно, чтобы закодировать решение, вы должны быть в состоянии справиться с написанием соответствия?Попробуйте расширить TypeSafeDiagnosingMatcher и посмотрите два метода, которые вас просят заполнить. Важно следить за тем, чтобы тест не прошел и убедиться, что диагностические сообщения полезны.

Когда вы к этому привыкнете,вы должны обнаружить, что вы начали собирать небольшую коллекцию совпадений, которые вы можете использовать повторно.

...