Есть ли способ манипулировать значения в таблице данных огурца? - PullRequest
0 голосов
/ 28 декабря 2018

У меня есть тест функции, написанный примерно так:

Given I am a Bank Customer
And My Starting Balances Are 
| Account Type | Balance |
| Checking     | 98.00   |
When on Day 1 I make DOLLAR AMT withdrawal from my existing balances
| Account Type | Balance |
| Checking     | 98.00   |

Я хочу взять целое число и вычесть его из баланса, а затем переназначить это значение в таблицу данных и передатьэто на.

Я знаю, что могу получить значение из таблицы, присвоить его переменной и манипулировать им.Мне нужно вставить обновленное значение обратно в него.

РЕДАКТИРОВАТЬ - Вот то, что у меня есть до сих пор.Он рассчитывает новый баланс, но мне нужно заново вставить это значение в DT.

 public void myUpdatedCheckingBalance(int cashAmt, DataTable balances) throws Throwable {
    List<List<String>> balanceData = balances.raw();
    String origBal;
    int updatedBal = 0;
    for (int i = 1; i<balanceData.size(); i++){
    JOptionPane.showMessageDialog(null, balanceData.get(i).get(i));
    origBal = balanceData.get(i).get(i);
    int balValue = Integer.parseInt(origBal);
    JOptionPane.showMessageDialog(null, balValue);
    updatedBal = balValue - hoursAmt;
    JOptionPane.showMessageDialog(null, updatedBal);
    balanceData.set(arg0, arg1)
    }
    JOptionPane.showMessageDialog(null, updatedBal);

1 Ответ

0 голосов
/ 02 января 2019

Огурец лучше всего работает, когда вы пишете простые сценарии, выражающие намерение, то есть то, ЧТО вы делаете и ПОЧЕМУ это важно.Все, что связано с тем, КАК что-то делается, лучше в другом месте.

Одним из решений вашей проблемы является просто написание более простых сценариев, выражающих намерение.Например,

Scenario: Withdraw all the money in my account
  Given I have an account with some money in it
  When I withdraw all my money
  Then my account should have no money in it

Scenario: Withdraw more money than my account holds
  Given I have an account with some money in it
  When I withdraw more money than my account has
  Then ...

  ...

Вам, вероятно, понадобится несколько сценариев для изучения счетов, лимитов овердрафта и остатков.То, что вам не нужно делать здесь, это положить в ценности.Cukes - это попытка определить бизнес-правила поведения аккаунта, а не технические правила.Таким образом, вы говорите о своих overdraft limit и balance, но не используете цифры, если они специально не добавляют ясности сценария (совет: они никогда не делают, вы всегда можете написать лучший сценарий без примеров, так как все примеры требуют объясненияо том, что они пример выключен).

...