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();
}
}