Экземпляр абстрактного класса Jmockit - PullRequest
2 голосов
/ 21 мая 2009

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

Есть ли способ создать экземпляр с использованием Jmockit, например, Mockit.newemptyProxy Как мне решить этот сценарий

Ответы [ 2 ]

2 голосов
/ 20 июня 2009

Вы можете сделать это просто так:


@Test
public void mockAbstractClassA(final A mock)
{
   new Expectations() {{
      mock.doThis();
      mock.doThat(); returns(123);
   }};

   new ClassUnderTest(mock).doStuff();
}

Обратите внимание на параметр «Макет» в методе теста.

0 голосов
/ 02 июня 2009

Может быть, это глупый вопрос, но вам действительно нужен JMockit в этой ситуации? Разве вы не можете просто сделать подкласс A и переопределить метод, который хотите смоделировать? Как то так:

class MyMockA extends A {

    @Override
    int myMethod(int x) {
        // do stuff
    }
}

@Test
public void test_A_handler() {
    A a = new MyMockA();
    A_handler testSubject = new A_handler();
    assertEquals(123, testSubject.handleA(a));
} 
...