3
我正在爲一個方法的行爲編寫一個單元測試,並且想要試圖減少我的代碼重複 - 我即將再次使測試用例增加一倍,並且該文件有點難以查看。我可以將單元測試結果驗證放在@After方法中嗎?
如果有人的真的感興趣,the code is here(警告未來 - 鏈接可能不是永久性的)。
現在,我這樣做,反覆幾次稍微不同的方式:
@Test
public void testAdd64OfMax64() {
// Set up container
TileEntityChest nmsinv = new TileEntityChest();
Inventory container = new CraftInventory(nmsinv);
// Call method
HashMap<Integer,ItemStack> leftover = container.addItem(new ItemStack(Foo, 64));
// Set up expected result
ItemStack[] expected = empty.clone();
expected[0] = new ItemStack(Foo, 64);
// Verify result
assertThat(container.getContents(), is(expected));
assertThat(leftover, is(Collections.EMPTY_MAP));
}
(注:assertThat來自org.hamcrest.Matchers
)
我知道,我可以把「設置容器「並將空數組克隆到@Before方法中。
我的問題是,我可以將assertThat
方法放入@After方法並且測試仍然失敗(當它應該失敗時)?
哦,一個'checkResults'方法..沒有考慮到這一點。是的,這聽起來像我想要的。 – Riking 2013-03-21 15:38:41