насмешливый класс с аннотированными методами - PullRequest
1 голос
/ 14 сентября 2011

У меня есть конкретный класс, который я хочу издеваться.Есть несколько аннотированных методов с аннотациями.Я хочу создать макет класса, но мне нужно сохранить аннотации.

Я попробовал easymock.Он подклассов моего класса без проблем, но не сохраняет аннотации.Если это невозможно, есть ли другое решение насмешки?

1 Ответ

0 голосов
/ 14 сентября 2011

Я предпочитаю mockito, который использует другую парадигму для макетирования классов.Вам не нужно разбивать на подклассы все, как вы делаете с easymock.

http://code.google.com/p/mockito/

В самом javadoc содержится масса информации о том, как использовать библиотеку

http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html#2

Это короткий пример из их документации.

//You can mock concrete classes, not only interfaces
LinkedList mockedList = mock(LinkedList.class);

//stubbing
when(mockedList.get(0)).thenReturn("first");
when(mockedList.get(1)).thenThrow(new RuntimeException());

//following prints "first"
System.out.println(mockedList.get(0));

//following throws runtime exception
System.out.println(mockedList.get(1));

//following prints "null" because get(999) was not stubbed
System.out.println(mockedList.get(999));

//Although it is possible to verify a stubbed invocation, 
//usually it's just redundant
//If your code cares what get(0) returns then something else 
//breaks (often before even verify() gets executed).
//If your code doesn't care what get(0) returns then it should 
not be stubbed. Not    convinced? See here.
verify(mockedList).get(0);

Итак, с помощью этой библиотеки вы настраиваете свои тесты и отключаете методы, которые вас интересуют.

Надеюсь, вы нашли это полезным.

...