我是Mockito的新手,需要学习它。
我创建了一个非常简单的类,它有一个返回字符串的方法。
然后我在日食中做了下面的测试类。
import static org.junit.Assert.*;
import org.junit.Test;
import org.mockito.Mockito;
public class No_1Test {
@Test
public void testNo_1() {
No_1 myTest = Mockito.mock(No_1.class);
Mockito.when(myTest.HelloWorld()).thenReturn("Hello World");
String result = myTest.HelloWorld();
Mockito.assertEquals("Hello World", myTest.HelloWorld());
}
}
到目前为止,我对自己所做的理解是:
- 我做了一个No_1班的模拟课。
- 我指定每当调用 HelloWorld() 方法时,它都应该返回字符串("Hello World")
- 我将 HelloWorld() 的结果存储到变量结果中(应该是"Hello World")
- 我想断言,它做了它应该做的事情。
问题是在 eclipse 中,它说 assertEquals 方法对于 Mockito 是未定义的。
有人可以指出我在这里出错的地方吗?
您收到像assertEquals method is undefined for mockito
这样的错误,因为我们不能像在您的代码中那样mockito.assertEquals
使用 mockito 尝试用 junit.assertEquals()
更改它
我在 mockito 上的经验表明,您应该避免同一项目的模拟类,我们用于模拟我们依赖其他项目或模块的类,因此不要在您的代码中模拟No_1类并尝试这些代码:
import static org.junit.Assert.*;
import org.junit.Test;
import org.mockito.Mockito;
public class No_1Test {
@Test
public void testNo_1() {
Mockito.when(myTest.HelloWorld()).thenReturn("Hello World");
Junit.assertEquals("Hello World", myTest.HelloWorld());
}
}
mockito用于模拟java类或方法结果,但请尝试使用junit进行测试,如junit.assertequals