首页 > 解决方案 > BDD 如何捕获系统交互(持久性、API 调用、通知等)?

问题描述

在使用 BDD 准备测试用例时,我有点困惑。

这是我用 Gherkin 语法表达的期望要求。

Given A user is subscribed to the system
When A user try to subscribe again
Then System should send him a notification "Subscription unsuccessful"
and  Admin Portal User should view related KYC Fields as blank

内部系统交互应该如何体现在 BDD 中?

例如:

a) 在每一步之后,在 MongoDB 中都需要持久化

b) 在 KYC API 调用之前,需要调用一些内部 API 调用作为预验证

c) 流程结束后需要向用户发送通知

通知应该被视为系统行为还是业务行为

持久性、调用 API 等应该如何反映在 BDD 中?

我错过了什么吗?

有人可以帮忙吗?

标签: mocha.jsbddchaisinon

解决方案


作为系统行为或业务行为的通知很大程度上取决于被测系统。

如果该场景的全部目的是确保发送通知,那么它就是一种业务行为。基本上都是关于你的Then.

由于您的场景断言通知已发送,因此我将其归类为业务行为,您的场景完全有效。

BDD 测试不一定需要用户界面。它可能涉及直接调用 API 并对结果进行断言。我什至使用 Gherkin 为一个类上的单个方法编写了单元测试。它只是碰巧用商业术语说明了该方法在做什么。这正是 BDD 的设计目的。


推荐阅读