模拟断言没有找到

时间:2014-01-12 06:53:31

标签: eclipse mocking mockito assert

我是Mockito的新手,需要学习它才能工作。

我创建了一个非常简单的类,它有一个返回字符串的方法。

然后我在eclipse中创建了以下测试类。

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. 我想断言它确实做了它应该做的事情。
  5. 问题在于,在eclipse中它表示对于Mockito来说,assertEquals方法是未定义的。

    有人可以指出我在哪里出错。

1 个答案:

答案 0 :(得分:0)

您收到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