找出 Behat 中的第 N 步

Find what step N is in Behat

我正在 运行 进行一小套 Behat 测试,但在我的功能上下文中遇到错误。

我可以看到错误是通过尝试在我的 FeatureContext (json_decode()) 中反序列化无效 json 触发的。但是,我看不到它试图反序列化的字符串。

...................................................................... 70
...................................................................... 140
...................................................................... 210
...................................................................... 280
...................................................................... 350
...................................................................... 420
...................................................................... 490
...................................................................... 560
...................................................................... 630
...................................................................... 700
......................PHP Fatal error:  Cannot access property started with '[=10=]' in tests/Behat/FeatureContext.php on line 512

我可以看到这是第 722 步。有没有简单的方法来获取功能和行号?

我意识到我 可以 运行 使用漂亮的格式,这在这种情况下会起作用,但我的其他一些套件需要 2 个多小时才能 运行。我想知道是否有更简单的方法。

如果您没有为此准备测试套件,似乎无法知道哪个 Step 失败了。步骤也是 "multiplied" 但 场景大纲 情况,这使得编写任何 hacky 功能解析脚本来计算所有步骤变得更加困难,因为它们可能已经被解析来自 Behat。

但将来您可以使用 "Before step" 和 "Before scenario" 挂钩来记录步骤内容和场景名称。这样你应该将他们所有的名字记录为一个列表。