2014-01-12 66 views
1

我是Mockito新手,需要學習工作。Mock assertEquals not found

我做了一個非常簡單的類,它有一個返回字符串的方法。

然後我在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. 我想斷言它完成了它的目的。

問題是在eclipse中它說assertEquals方法對於Mockito是未定義的。

有人可以請指出我在哪裏錯了。

+0

No_1班級在同一個項目中,還是第三方班級? –

+0

你可以嘗試一下這些代碼,並按照我在下面回答的方法來查看代碼。 –

+0

@Charles Stevens:謝謝你的回答。事實證明,我所需要的只是assertEquals(「Hello World」,結果); – SeekingAlpha

回答

0

你越來越像assertEquals method is undefined for mockito的錯誤,因爲我們不能使用如的Mockito在mockito.assertEquals在你的代碼試圖用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