2 回答

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
從評論中,您可以做的可能是更改父子關(guān)系并讓 ItemRegister 持有 Stock 對象的實(shí)例。因此,您可以像這樣修改 ItemRegister 類:
public class ItemRegister {
Stock s;
public ItemRegister(Stock s) {
this.s = s;
}
public void registerItem(String name, double price) {
s.getStock().add(new Item(setItemCode(), name, price, 0));
}
private int setItemCode() {
return s.getStock().size() + 1;
}
}
然后,您最初編寫的測試代碼只需稍作修改即可為真ItemRegister i = new ItemRegister(s);,并且您可以在 Stock 對象的一個(gè)實(shí)例上工作。

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
我想要的是添加Stock而不是ItemRegister因?yàn)槿绻院笪蚁胱稍僑tock我會(huì)打電話給 Stock 而不是ItemRegister。
然后你需要Stock換成ItemRegister.
public class ItemRegister {
Stock stock;
public ItemRegister(Stock stock) {
this.stock = stock;
}
public void registerItem(String name, double price) {
stock.getStock().add(new Item(setItemCode(), name, price, 0));
}
private int setItemCode() {
return stock.getStock().size() + 1;
}
}
在您的單元測試中使用它,如下所示:
public class ItemRegisterTest {
@Test
public void testIfHasRegisteredItemInStock() {
Stock s = new Stock();
assertTrue(s.getStock().size() == 0);
ItemRegister i = new ItemRegister(s);
i.registerItem("Oleo", 20.0);
assertTrue(s.getStock().size() == 1);
}
}
添加回答
舉報(bào)