在Behat中,可以通过使用behat.yml文件来组织和配置测试环境。下面是将已认证的上下文与其他上下文分开的示例解决方案:
首先,创建一个名为behat.yml的文件,并将其放置在项目的根目录下。在behat.yml文件中,可以指定不同的测试套件和上下文。
default:
suites:
authentication:
paths:
- %paths.base%/features/authentication
contexts:
- FeatureContext
- AuthenticationContext
other:
paths:
- %paths.base%/features/other
contexts:
- FeatureContext
- OtherContext
在上面的示例中,我们定义了两个不同的测试套件:authentication和other。每个测试套件都有自己的路径和上下文。
然后,在项目的目录结构中创建两个文件夹:features/authentication和features/other。在这些文件夹中,可以分别存放与不同测试套件相关的.feature文件。
在每个测试套件的上下文中,可以定义相关的步骤和方法。例如,在AuthenticationContext中定义与身份验证相关的步骤和方法,在OtherContext中定义与其他功能相关的步骤和方法。
这种组织方式可以使测试代码更加模块化和可维护。在运行Behat测试时,可以指定要运行的测试套件,例如:
vendor/bin/behat --suite=authentication
以上示例中,只会运行authentication测试套件中的测试。