目前我正在学习 FitNesse。我在一个测试页面中有两个不同的测试表,并且想在我的“InventoryFixture”表中添加/删除数量。
我的问题是我无法使用“myInventory”对象从“InventoryFixture”表中获取数量值。我的目标是确保我每次都使用同一个对象并引用“InventoryFixture”类。
我在开发中使用 java 并扩展了 ColumnFixture。
在“AddRemoveItemFixture”类中,我得到新项目并将它们添加到我在“InventoryFixture”类中的数量中。
好像我错过了什么,谁能告诉我什么?
it seems I'm missing something, can anyone tell me what?
这是我所有的java代码:
package fitNesseExample;
import fit.ColumnFixture;
public class InventoryFixture extends ColumnFixture{
private int quantity;
private int partNumber;
public int getQuantity(){
return quantity;
}
public void setQuantity(int quantity){
this.quantity = quantity;
}
public int getPartNumber() {
return partNumber;
}
public void setPartNumber(int partNumber) {
this.partNumber = partNumber;
}
public boolean valid(){
if(quantity>0){
return true;
}else{
return false;
}
}
public int addQuantities(int item){
int items = item;
return items;
}
}
在这个类中,我通过函数 addItems() 添加新项目,问题就来了。myInventory.getQuantity() 返回 [0] 而不是 [28],因此项目总数为 (0+5 = 5) 而不是 (28+5 = 33)。
package fitNesseExample;
import fit.ColumnFixture;
public class AddRemoveItemFixture extends ColumnFixture{
public int partNumber;
public int newItems;
public InventoryFixture myInventory;
public void setNewItems(int newItems){
this.newItems = newItems;
}
public void setPartNumber(int partNumber) {
this.partNumber = partNumber;
}
public int addItems(){
myInventory = StaticInventory.getMyInventory();
int totalItems = myInventory.addQuantities(myInventory.getQuantity() + newItems);
myInventory.setQuantity(totalItems);
return myInventory.getQuantity();
}
}
我将类 InventoryFixture 实例化为:
package fitNesseExample;
import fit.ColumnFixture;
public abstract class StaticInventory extends ColumnFixture{
public static InventoryFixture myInventory;
public static InventoryFixture getMyInventory(){
if(myInventory == null) myInventory = new InventoryFixture();
return myInventory;
}
}