Как сохранить аннотации методов в макете JMockit - PullRequest
2 голосов
/ 08 сентября 2011

Я попытался смоделировать класс с помощью аннотаций методов через JMockit и обнаружил, что аннотации методов не могут быть получены с помощью отражения. Полевые аннотации работают как намерения. Я что-то пропустил?

Mocking:

    @Test
public void testThatSetterInjectionIsBombedProperlyOnNonAssignability(@Mocked final WithInjectableMethods injectable,
                                                                      @Mocked final TextView textView,
                                                                      @Mocked final Button button) {

Рассматриваемый класс:

class WithInjectableMethods extends Activity {

    private android.view.View asView;

    private Button button;

    // shall be left alone
    private View notInjected = null;
    // shall be injected


    @InjectView(id = 239)
    private void setAsView(View asView) {
        this.asView = asView;
    }

    @InjectView(id = 555)
    public void setButton(Button button) {
        this.button = button;
    }

    public void setNotInjected(View notInjected) {
        this.notInjected = notInjected;
    }

1 Ответ

2 голосов
/ 12 сентября 2011

Я смог обойти:

   @Mocked(methods = {"setAsView", "setButton", "notInjected"}, inverse = true) final WithInjectableMethods injectable,

У меня также появилась проблема с jmockit, она была принята, и исправление обещано в следующем выпуске:

http://code.google.com/p/jmockit/issues/detail?id=184

...