我正在學習如何在android studio中進行單元測試。如下所示,我有一個名爲「isValidUrl」的方法,在下面的測試部分中,我使用Mockito編寫了該方法的測試 ,但測試總是失敗。如何測試方法在Mockito中返回布爾值
你可以請幫忙,並指導我如何測試這種方法?
代碼
public boolean isValidUrl(String url) {
return (url != null && !url.equals("")) ? true : false;
}
測試:
public class ValidationTest {
@Mock
private Context mCtx = null;
@Before
public void setUp() throws Exception {
mCtx = Mockito.mock(Context.class);
Assert.assertNotNull("Context is not null", mCtx);
}
@Test
public void isValidUrl() throws Exception {
Validation validation = new Validation(mCtx);
String url = null;
Mockito.when(validation.isValidUrl(url)).thenReturn(false);
}
}
謝謝你的答案..但我可以在同一個方法中使用多個斷言..因爲我想測試isValid(null),isValid(true)和isValid(false) – user2121
@ user2121是的,你可以。這是一個有趣的問題,大多數人會建議你爲每種情況做一個額外的測試方法,但是你也可以在一種測試方法中進行儘可能多的斷言。 – FWeigl
謝謝..我在這裏發佈了另一個與測試有關的問題:https:// stackoverflow。com/questions/46262467/how-to-test-picasso-using-unit-test-and-mockito也許你想看看,你的答案對我來說是一個指導性的線索,因爲我是學習測試單位 – user2121