作为开发人员 我想将断点放在要素文件中 这样我就可以调试功能/场景/步骤
有没有人使用Behave或Cucumber实现此功能?
答案 0 :(得分:3)
您不能将断点放到.feature
个文件中,因为它是纯文本文件。相反,您可以将断点放在实现BDD步骤的测试步骤中。
示例强>
When I click button "save"
Then saved page opened
你需要进入那一步并看到类似的东西:
public void iClickButton(String buttonName) {
getButtonByName(buttonName).click();
}
您可以将断点放在方法iClickButton
中并进行调试。
这就是你可以用BDD风格调试执行的方法。
答案 1 :(得分:2)
我不能说我曾经能够在功能文件中添加断点。相反,我将它们放在步骤文件中,因此当该步骤运行时,您可以验证它是否完成了它的工作。在功能和步骤文件之间来回切换很多,但它可以正常工作
答案 2 :(得分:0)
我只想指出,在2018年,功能文件的使用量远远超过Behave或Cucumber [即PHP的代码]。 “Gherkin”应该是商业可读的DSL,“断点”的概念实际上不适用于该域。我会说在Gherkin特征文件中定义断点是不可能的。如果你愿意的话,你当然可以这样做,去做吧,但是没有一种标准的做法,你可能会在一个大型组织或团队中混淆。
答案 3 :(得分:0)
首先,您需要在步骤定义中添加调试,而不是在功能文件中添加
现在,您正在通过maven命令运行它,例如:
mvn全新安装
但是您需要使用junit或testng运行它。
在步骤定义中放置一个调试点,并在调试部分以junit / testng的身份运行项目
OR
如果仍然需要使用maven运行它,则可以尝试使用maven命令中的以下参数
-Dmaven.surefire.debug test -DforkCount=0 test