Unit testing 需要但未调用。事实上,与这个模拟没有任何交互

Unit testing 需要但未调用。事实上,与这个模拟没有任何交互,unit-testing,mockito,jmockit,Unit Testing,Mockito,Jmockit,我尝试了中给出的解决方案,也尝试了这个,但仍然得到了相同的错误。我错过什么了吗? 以下是我的实施:- import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.verify; cl

我尝试了中给出的解决方案,也尝试了这个,但仍然得到了相同的错误。我错过什么了吗? 以下是我的实施:-

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

import static org.mockito.Mockito.verify;

class ClassOne {
    public void method(ClassTwo two) {
    }
}

class ClassTwo {
    public ClassTwo(String value) {
    }
}

class MyClassTwo extends ClassTwo {
    public MyClassTwo(String value) {
        super(value);
    }
}

class ClassToBeTested {
    ClassOne classOne;

    public ClassToBeTested() {
        classOne = new ClassOne();
    }

    public void methodToBeTested() {
        ClassTwo event = new MyClassTwo("String");
        classOne.method(event);
    }
}

@RunWith(MockitoJUnitRunner.class)
public class ClassToBeTestedTest {

    ClassToBeTested presenter;
    @Mock
    ClassOne classOne;

    @Before
    public void setUp() {
        presenter = new ClassToBeTested();
    }


    @Test
    public void testAbc() {
        presenter.methodToBeTested();
        ClassTwo event = new MyClassTwo("someString");
        verify(classOne).method(event);
    }
}

您需要通过mock类(或者使用PowerMock做一些可怕的事情)


您需要通过mock类(或者使用PowerMock做一些可怕的事情)


您需要通过mock类(或者使用PowerMock做一些可怕的事情)


您需要通过mock类(或者使用PowerMock做一些可怕的事情)


我改变了我的类,按照你的建议在构造函数中有ClassOne的实例,但仍然没有运气。我还尝试了不同的构造函数,它将在
public ClassToBeTested(){this(new ClassOne();}
之后调用新的构造函数,如果您提供的代码实际编译并运行时显示了您的问题,这将非常有帮助。使用working Example进行了更新,这正是我的代码的外观,但仍然存在相同的问题。在我的包中,我还有几个测试类,它们工作得很好,但不是这个。我猜还有别的问题:(我改变了我的类,按照你的建议在构造函数中包含ClassOne的实例,但仍然没有成功。我还尝试了不同的构造函数,它将在
public ClassToBeTested(){this(new ClassOne());}之后调用新的构造函数)
如果您提供了实际编译并运行的代码来显示您的问题,这将非常有帮助。使用working Example进行了更新这正是我的代码的外观,但仍然存在相同的问题。我的包中还有几个测试类工作正常,但不是这个。我想还有一些问题:(我改变了我的类,按照你的建议在构造函数中包含ClassOne的实例,但仍然没有成功。我还尝试了不同的构造函数,它将在
public classtobetest(){this(new ClassOne());}之后调用新的构造函数。)
如果您提供了实际编译并运行的代码来显示您的问题,这将非常有帮助。使用working Example进行了更新这正是我的代码的外观,但仍然存在相同的问题。我的包中还有几个测试类工作正常,但不是这个。我想还有一些问题:(我改变了我的类,按照你的建议在构造函数中包含ClassOne的实例,但仍然没有成功。我还尝试了不同的构造函数,它将在
public classtobetest(){this(new ClassOne());}之后调用新的构造函数。)
如果您提供了实际编译并运行的代码来显示您的问题,这将非常有帮助。使用working Example进行了更新这正是我的代码的外观,但仍然存在相同的问题。我的包中还有几个测试类工作正常,但不是这个。我想还有一些问题:(
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

import static org.mockito.Mockito.verify;

class ClassWeWantToBeMocked {
    void methodToBeMocked() { }
}

class ClassToBeTested {
    ClassWeWantToBeMocked dependency;

    // Notice that the dependency is now passed in. 
    // This is commonly called Dependency Injection.
    public ClassToBeTested(ClassWeWantToBeMocked dependency){
        this.dependency = dependency;
    }

    public void methodToBeTested(){
        dependency.methodToBeMocked();
    }
}

@RunWith(MockitoJUnitRunner.class)
public class ClassToBeTestedTest {

    ClassToBeTested presenter;

    @Mock
    ClassWeWantToBeMocked ourMock;

    @Before
    public void setUp(){
        // Notice how we now pass in the dependency (or in this case a mock)
        presenter=new ClassToBeTested(ourMock);
    }

    @Test
    public void myMockTest(){
        presenter.methodToBeTested();

        verify(ourMock).methodToBeMocked();
    }
}