最近,Rails工程中,做测试和集成测试的时候,Cucumber很热.然而,就像任何测试的工具使用的时候一样,测试用例可能出现以外的失败.
这个时候,就需要一些技巧来调试和发现这些没有覆盖到的用例,以及失败的原因.
使用ruby-debug之前,需要配置文件.
在env.rb文件中,添加:
require 'ruby-debug'
然后,你就可以放置breakpoint标识在任何你需要调试的代码处.例如,在application或者其它,需要step调试的地方.
Then /^the process should exit cleanly$/ do
breakpoint
assert exited_cleanly</span><span class="p">,</span> <span class="s2">"Process did not exit cleanly: </span><span class="si">#{</span><span class="vi">stdout}"
end
提示: 如果,你把breakpoint标识放到了最后,那么你需要添加一个语句标识在breakpoint后面,否则,ruby-debug将会进入调用阻塞.如下:
Then /^the process should exit cleanly$/ do
assert exited_cleanly</span><span class="p">,</span> <span class="s2">"Process did not exit cleanly: </span><span class="si">#{</span><span class="vi">stdout}"
breakpoint; 0
end
那么进行调试:
如果有一个步骤类似“Then I debug”,那么会相当方便,这个文件应该放到
features/step_definitions/debug_steps.rb:
Then /^I debug$/ do
breakpoint
0
end
Webrat插件
Webrat是一个默认的工具用来debugcucumber测试.它的功能包括,点击连接,输入和提交表单等.例如,如果,你试图点击一个不存在的链接.你就会得到一对的html.
save_and_open_page
Webrat 提供一个save_and_open_page方法用来捕获当前的HTML保存并打开浏览器,十分强大.
When /^I follow "(.*)"$/ do |link|
save_and_open_page
click_link(link)
end
在上面的情况下,即使没有失败,也会有很多页面被打开
When /^I follow "(.*)"$/ do |link|
begin
click_link(link)
rescue
save_and_open_page
raise
end
end
页面只有在出现错误的时候,才被打开.
分享到:
相关推荐
cucumber插件安装,cucumber-eclipse-plugin-0.0.23-SNAPSHOT.zip
Eclipse可离线安装的cucumber插件,另附有详细的安装教程:https://blog.csdn.net/qq_37904919/article/details/108384401
maven-cucumber-reporting-0.0.2-sources.jar
Cucumber相关jre包集合,有cobertura-2.1.1.jar,cucumber-core-1.2.5.jar,cucumber-html-0.2.7.jar,cucumber-java-1.2.5.jar,cucumber-junit-1.2.5.jar,cucumber-jvm-deps-1.0.6.jar等 自己也在使用无版本冲突...
Cucumber-forge-report-generator可用于创建干净HTML报告,而无需构建项目或运行测试。 当然,由于未执行测试,因此报告中不包含方案的通过/失败信息。 存在许多其他解决方案,用于基于Cucumber测试运行的输出来...
The Cucumber for Java Book ...pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
额外功能:在TestCafe中使用XPath选择器 贡献 谢谢 快速安装 如果您想尽快开始编写测试,则需要执行以下命令: npm init --yes # To create a basic package.json npm install testcafe-cucumber-steps @cucumber/...
CucumberJava骨架 CucumberJava Curso 这是使用Java为Cucumber设计的最简单的构建脚本设置。 没有像Webapp或浏览器测试这样的花哨的东西了。 这一切都是为了向您展示如何安装和运行...cd cucumber-java-skeleto
SelenideCucumber魅力报告...先决条件入门-安装Git -5分钟内完成Maven如何安装此项目git clone https://github.com/Pavelya/Selenide-cucumber-allure-reports-java.git 运行测试-命令行模式cd to project path Run w
使用生成报告。用法该插件将在test任务结束时自动运行。 您也可以使用generateCucumberReports任务手动运行它。将插件添加到您的build.gradle ... buildId = ' 0 ' reports = files( ' path/to/cucumber-report.json
The Cucumber Book - Behaviour-Driven Development for Testers and Developers.pdf 清晰pdf英文版。
当跨场景重写重用步骤的参数时,展示了Cucumber步骤重用中的一些... pcluff@waluigi.local ➜ cuke-bug git:(master) ✗ bundle exec cucumber Feature: A As Foo I want Bar @passing Scenario: POC # features/b
cucumber-java-skeleton, 这是 Cucumber JVM使用Java最简单的可能设置 cucumber 这是使用Java实现 Cucumber的最简单的构建脚本。 没有什么比web浏览器或者浏览器测试更花哨的了。 这样做的目的是向你展示如何安装和...
要与普通Cucumber一起使用,只需确保以如下方式运行Cucumber:Cucumber--plugin json -o cucumber.json背景Cucumber是一种遵循和现场文档编制原则的测试自动化工具。 规范以简明编写,并以持续集成的执行。 该插件...
该存储库包含两个基于Spring Boot的REST服务,分别称为spring-boot-cucumber-example1和spring-boot-cucumber-example2 。 第一个示例包含一个用于创建,删除,更新和获取用户的简单控制器。 第二个示例增加了安全...
cucumber是一种可以使用文本描述语言来执行自动测试用例的工具,cucumber-java.jar通过java编写需要下载这个包
Cucumber-Protractor-custom-framework:Cucumber量角器自定义框架的基本实现
location:http://cucumber.github.com/cucumber-eclipse/update-site 3.导入示例项目,右键运行testBaidu.feature 文件run as Cucumber Feature 4.结果如下: @tag Feature: open baidu Starting ChromeDriver 2.26....
java8源码Cucumber-jvm-java8-example 这是一个使用 Cucumber-JVM 框架的 Java 8 BDD 测试自动化项目示例。 它包含一个执行基本 Google 搜索的简单行为场景。 它与该项目几乎相同,只是该项目使用 lambda 表达式进行...
使用json格式化程序在Cucumber测试后生成Cucumber json输出文件: @RunWith ( Cucumber . class) @CucumberOptions ( plugin = { " json:target/cucumber.json " } ) :information: 插件选项替换了格式选项,后...