В настоящее время я изучаю FitNesse. У меня есть две разные тестовые таблицы на одной тестовой странице, и я хочу добавить/удалить количества в своих таблицах «InventoryFixture».
Моя проблема в том, что я не могу получить значение количества из таблицы «InventoryFixture», используя объект «myInventory». Моя цель - убедиться, что я каждый раз работаю с одним и тем же объектом и ссылаюсь на класс "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;
}
}