BDD 如何捕获系统交互(持久性、API 调用、通知等)?

How does BDD capture System Interaction (Persistence, API Call, Notification etc)?

在用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中?

我是不是漏掉了什么?

有人可以帮忙吗?

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

如果场景的全部意义在于确保发送通知,则这是一种业务行为。基本上都是关于你的 Then.

由于您的场景断言通知已发送,我会class将其确认为业务行为,并且您的场景完全有效。

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