未找到模拟断言等于



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

到目前为止,我对自己所做的理解是:

  1. 我做了一个No_1班的模拟课。
  2. 我指定每当调用 HelloWorld() 方法时,它都应该返回字符串("Hello World")
  3. 我将 HelloWorld() 的结果存储到变量结果中(应该是"Hello World")
  4. 我想断言,它做了它应该做的事情。

问题是在 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

相关内容

  • 没有找到相关文章