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);
文章来源于领测软件测试网 https://www.ltesting.net/