我正在为方法的行为编写单元测试,并想尝试减少我的代码重复- 我即将再次将测试用例加倍,并且文件变得有点难以查看。
如果有人真的感兴趣,代码就在这里(警告未来 - 链接可能不是永久性的)。
现在,我执行以下操作,以略有不同的方式重复了几次:
@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 方法中并让测试仍然失败(什么时候应该失败)?