public void SearchWithNonExistentPhoneNumbers() {...}
[Scenario]
public void SearchWithInvalidPhoneNumberValues() {...}
...
...
}
這些測試用例用C#寫成,但是很接近英語,即使非技術人員也可以讀懂。 (請參照Martin Fowler的 BusinessReadableDSL )。這樣,其他的團隊成員,特別是對領域更熟悉的業務人員,可以很容易的讀懂測試用例, 因此也更可能指出測試中遺漏的案例及場景。
若采用支持以自然語言形式書寫測試用例的框架(例如Ruby平臺下的Cucumber)則會更好。
以"ACTION"結尾的變量為lambda表達式。他們是真正的測試邏輯。
SEARCH_WITH_ACTION會向web服務發出請求,并會解析返回的以豎線分割的數據。類CustomerService和Subscriber在領域層中,他們 會在多個測試中重復使用。
SEARCH_WITH_ACTION =
phoneNumber =>
{
subscribers = customerService.SearchWithTelephoneNumber(phoneNumber);
};
ACCOUNT_INFORMATION_SHOULD_BE_RETURNED_ACTION is for verifying the data
ACCOUNT_INFORMATION_SHOULD_BE_RETURNED_ACTION =
accountNumber =>
{
//Get expected subscriber from fixture
Subscriber expected = SubscriberFixture.Get(accountNumber);
文章來源于領測軟件測試網 http://www.kjueaiud.com/