应该是,是的.在所有形式的TDD(包括BDD)中通常都是良好的做法,以确保每个"测试"可以独立运行,并且不与首先运行的另一个测试耦合或依赖于另一个测试.这将有助于避免创建脆弱的测试套件(即易于破坏的测试套件).
这并不是说你不能将可读性结合在一起.对于一个非常便宜/快速的例子:
Feature: Users can register and log in
Scenario: Should be able to register
Given I am not registered
When I complete the registration form
Then I will be registered
Scenario: Should be able to log in
Given I am registered
When I correctly sign-in with my credentials
Then I will be logged in
Scenario: Should be able to log out
Given I am logged in
When I sign-out
Then I will be logged out
Run Code Online (Sandbox Code Playgroud)
每个场景都表明可以自动化的测试 - 每个场景都应该在幕后设计,以便能够独立运行.但作为该功能的读者(比如商业利益相关者) - 该过程已经完成,他们可以更容易地理解整个画面.