Мой код выдает java.lang.Исключение IllegalArgumentException: Соответствие реальным методам не найдено для следующей ошибки насмешки

#java #spring-boot #junit4

Вопрос:

что я делаю не так в приведенном ниже коде?может кто-нибудь что-нибудь предложить?

 @RunWith(JUnit4.class)
class testingClassTest {

//Added annotations on the classes

    @InjectMocks
    private TestingClass testClassObj;
    @Mock
     DO dO;
     private Exception ex;

    @Before
     public void setup() {
        MockitoAnnotations.initMocks(this);
        dO = new DO();
     }


//method to be tested

    @Test
    void testProcess() {
       dO = new dO();
        ex = new MyException(new ArrayList<>(),null);
        new MockUp<Mockingclass>() {
            @mockit.Mock
            public void method(Object obj, String st, Exception ex, String msg, ObjectConfig obj) {
                dO.setCd(Interfacecontaingconst.CD);
            }
        };
        testObj.method(DO,"6",ex,null, null);
        Assert.assertEquals(139,dO.getCd());
    }
}
 

Комментарии:

1. Похоже, вы используете как JMockit, так и Mockito, что, вероятно, не помогает. Также похоже, что вы заставляете Mockito создавать макет DO , а затем заменяете его экземпляром, который вы создали сами. Мне не совсем ясно, что именно вы пытаетесь сделать.

2. @Энди Уилкинсон Спасибо за ваш ответ. Я тоже немного сбит с толку. Я создал экземпляр Do, потому что do.вызов метода вызывает исключение нулевого указателя. В нем говорится, что find why do может быть нулевым.