我的团队刚刚开始将 Behat 用于 BDD。我们构建了 Web 应用程序,并发现我们希望在不同产品之间共享一些通用的与 Web 相关的步骤定义。与 MinkExtension 中已经包含的那些定义非常相似的东西,例如'我应该看到 "<select>" 中的 "<option>" 被禁用'。
我们已经设置了一个私有的 composer 包,以便我们可以共享我们的自定义 web 步骤定义,现在我们想到的一个问题(非常元!)是我们是否应该对我们的步骤定义进行单元测试。
我对此有两种看法,不确定它的实用性。我倾向于不测试它们,因为我认为当场景失败时应该突出显示步骤定义中的失败,在这种情况下,它们应该足够简单,以便轻松发现任何错误。尽管如此,这个过程似乎还是有点差距。步骤定义毕竟是可执行的 PHP 代码......