Php Behat中是否有儿童场景?

Php Behat中是否有儿童场景?,php,behat,gherkin,Php,Behat,Gherkin,我正在进行一些测试,其中包含一些非常广泛的带有嵌套表单的提交表单。因此,我们有很多部分是根据内容重复的。例如,用户信息。目前在Behat,我正在创建功能中的所有内容,并复制/粘贴用户信息步骤。我正在使用Behat 3.x,不想尝试创建他们从2.5中删除的链接问题 话虽如此,还有更好的方法吗?我一直想知道如何创建子代码块,但我不确定这是如何工作的,因为Behat将尝试运行目录中的所有功能,除非您单独调用它们(我并不反对)。通过谷歌搜索这个问题,我不相信我是第一个看到链接步骤的价值,同时也了解与之相

我正在进行一些测试,其中包含一些非常广泛的带有嵌套表单的提交表单。因此,我们有很多部分是根据内容重复的。例如,用户信息。目前在Behat,我正在创建功能中的所有内容,并复制/粘贴用户信息步骤。我正在使用Behat 3.x,不想尝试创建他们从2.5中删除的链接问题

话虽如此,还有更好的方法吗?我一直想知道如何创建子代码块,但我不确定这是如何工作的,因为Behat将尝试运行目录中的所有功能,除非您单独调用它们(我并不反对)。通过谷歌搜索这个问题,我不相信我是第一个看到链接步骤的价值,同时也了解与之相关的潜在复杂性的人。我只是想知道是否有更好的方法,用一种更为合理的方法来实现这一点


我当然可以欣赏小黄瓜的简单性,我希望我的测试能够让其他人看得懂。链接,或者在我的FeatureContext.php中构建自定义函数,使调用在我看来不再像是小黄瓜,但同时,我真的希望有一种更好的方式一次定义多个步骤。对于这个特定的问题,是否有最佳实践?

我将尝试使用给出的示例来回答:您可以编写一个用户信息工厂,用于测试需要在开始当前场景之前预填充用户信息的场景。我假设您已经有了此功能的现有测试,这些测试已经测试了添加用户信息的基本功能,其他测试不需要以聚合更改的方式链接到这些测试。希望我能以你所希望的方式理解你的问题