BDD 单元测试:从基础到工具应用
1. 深入低级别技术规范
在软件开发中,探索低级别需求、发现设计并实现更复杂的功能是一个关键过程。以飞行常客系统为例,如果飞行常客赚取 300 积分,他们应获得银卡会员状态。当我们完成这个测试后,就可以着手实现该类的实际版本。
这个测试完全独立于 StatusService 类的任何特定实现。它运行速度快,无需设置,若测试失败,问题很可能出在 FrequentFlyer 类而非 StatusService 类。
当然,这意味着我们需要为 StatusService 类编写单独的规范。以下是一些低级别规范的示例:
StatusService statusService = new InMemoryStatusService();
@Test
public void should_stay_on_bronze_for_zero_points() {
assertThat(statusService.statusLevelFor(0), is(Status.Bronze));
}
低级别规范通常会涵盖验收标准中未包含的情况,如边界条件。验收标准是高级别的示例,无需涵盖每个可能的输入和预期结果,只需关注具有重要业务价值的情况。我们通常会有一些技术边缘情况需要记录,而这些并未包含在验收标准中。
在实现了足够的代码使零积分情况正常工作后,我们可以继续处理其他边缘情况:
超级会员免费看
订阅专栏 解锁全文
4987

被折叠的 条评论
为什么被折叠?



