如何測試一個方法什麼都不做。例如,我有一個靜態方法,如果給定的字符串參數爲null或空(它用於參數驗證),則會引發異常。現在我的測試是這樣的:JUnit4 - 測試方法什麼都不做
@Test
public void notNullOrEmpty_doesNothingIfValueIsNotNullOrEmpty() {
Require.notNullOrEmpty(Generate.randomString());
assertTrue(true); // <- this looks very ugly
}
@Test(expected = IllegalArgumentException.class)
public void notNullOrEmpty_throwsExceptionIfValueIsNull() {
Require.notNullOrEmpty(null);
}
@Test(expected = IllegalArgumentException.class)
public void notNullOrEmpty_throwsExceptionIfValueIsEmpty() {
Require.notNullOrEmpty("");
}
我怎樣才能讓第一個測試通過,而無需調用assertTrue(true)
,有Assert.fail()
是有什麼樣的Assert.pass()
?
編輯: 新增失蹤(expected = IllegalArgumentException.class)
至3測試
萬一需要類不真的只是檢查null或空考慮使用從番石榴庫Preconditions.checkArgument(Strings.isNullOrEmpty(「MyString的」))井試驗班; – sandrozbinden
同時請記住仔細使用隨機生成的字符串作爲測試輸入。請參閱http://stackoverflow.com/questions/3441686/what-are-the-downsides-using-random-values-in-unit-testing – sandrozbinden