它不是非常從你想要什麼的問題明確。如果這是您的功能中固定的值,那麼做到這一點的唯一方法就是從您的應用中設置初始餘額。通過'@beforeScenario'鉤子來做到這一點可能是最簡單的解決方案(因爲你不能每次都在場景大綱中這樣做)。
或者,如果您無法從套件中修改餘額,唯一合適的選擇是按照以下方式進行。這可能不像對實際價值的斷言那樣具體,但技術上這是同樣的事情。黃瓜語言(如果可以稱之爲語言)不允許任何操作和場景概述可能是其中最具活力的部分。
語境
protected $balance;
/**
* @Give /^I know the balance$/
*/
public function updateBalance() {
// API call to get the balance…
$this->balance = API::getBalance();
}
/**
* @When /^I bill the card for (\d+) dollars$/
*/
public function billCard($amount) {
// API call to bill the card…
API::billCard($amount);
}
/**
* @Then /^the balance should reduce by (\d+) dollars$/
*/
public function assertBalance($amount) {
// API call to verify the balance was reduced correctly, don't forget to cast if necessary.
if ($this->balance - $amount === ($currentBalance = (int) API::getBalance())) {
$this->balance = $currentBalance;
} else {
throw new Exception();
}
}
功能
Scenario Outline: …
Given I know the balance
When I bill the card for <amount> dollars
Then the balance should reduce by <amount> dollars
Examples:
| amount |
| 5 |
| 10 |
是的,這是我目前在做什麼。不幸的是,PM希望看到該功能的結果。她希望查看指定第一個值的結果列,並且後續值是上述結果減去金額列中的值。 – user3154922 2014-10-07 20:02:52
這是否意味着這是你需要的還是意味着其他的東西? :) – 2014-10-07 20:04:58
這不是我所需要的,這是我現在使用的。我已更新我的示例以顯示她想看到的內容。 – user3154922 2014-10-07 20:08:34