最近,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
页面只有在出现错误的时候,才被打开.
分享到:
相关推荐
Eclipse可离线安装的cucumber插件,另附有详细的安装教程:https://blog.csdn.net/qq_37904919/article/details/108384401
安装 Cucumber-Eclipse 插件是提升 Cucumber 在 Eclipse 中使用体验的关键步骤。通常,你可以通过 Eclipse 的内置更新管理器来添加新的插件。首先,打开“Help”菜单,然后选择“Install New Software”。在打开的...
maven-cucumber-reporting-0.0.2-sources.jar
这是使用 Java 的 Cucumber-JVM 最简单的设置。Cucumber-Java 骨架这是使用 Java 为 Cucumber 设置的最简单的构建脚本。它没有像 Web 应用或浏览器测试那样花哨的东西。它所做的只是向您展示如何安装和运行 Cucumber...
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测试运行的输出来...
额外功能:在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
在"Cucumber-JVM-Spring-MVC-Test-HTMLUnit-Demo"项目中,开发者首先会运行`mvn spring-boot:run`命令启动应用程序,然后使用`mvn clean compile test`来执行测试。这个过程展示了如何将这三个组件集成在一起: 1. ...
SelenideCucumber魅力报告...先决条件入门-安装Git -5分钟内完成Maven如何安装此项目git clone https://github.com/Pavelya/Selenide-cucumber-allure-reports-java.git 运行测试-命令行模式cd to project path Run w
书中提到,通过阅读本书,读者不仅可以学习到如何有效使用Cucumber,还能接触到其他几个可用与Cucumber配合使用的Ruby工具。作者通过强调实用的见解,使得本书不仅为读者描述了如何使用Cucumber,还给出了如何最好地...
应该将parallel-cucumber-js作为开发依赖项添加到测试代码库中。 您可以使用以下方法执行此操作: $ npm install --save-dev parallel-cucumber 或者,您可以将其手动添加到package.json文件中: { " ...
使用生成报告。用法该插件将在test任务结束时自动运行。 您也可以使用generateCucumberReports任务手动运行它。将插件添加到您的build.gradle ... buildId = ' 0 ' reports = files( ' path/to/cucumber-report.json
3. **运行测试**:执行Cucumber测试套件时,插件会自动捕获测试过程中的信息,并在测试完成后生成PDF报告。 4. **查看报告**:生成的PDF报告可以提供详细的测试结果,包括场景(Scenario)、步骤(Steps)、执行...
这些步骤定义可以是JUnit测试的一部分,因此cucumber-junit-1.2.2.jar是Cucumber与JUnit集成的接口,使得测试可以在JUnit测试运行器中执行。 cucumber-core-1.2.2.jar是Cucumber的核心库,包含解析Gherkin特性和...
理解并熟练使用 Rubygem-Cucumber-Tag-Expressions 可以显著提高 Cucumber 测试框架的效率和实用性。通过这种方式,你可以更精细地控制测试流程,从而优化测试策略,确保代码质量,并提升团队的开发效率。无论是手动...
这个压缩包“cucumber-groovy-1.1.1.zip”包含了Cucumber的一个版本,它是一个自动化测试工具,专为集成行为驱动开发(BDD)到Groovy编程语言中而设计。Cucumber允许开发者、测试人员和非技术人员通过自然语言编写可...
使用Cucumber-Guice-1.1.4和websphere-maven-plugin,开发者可以构建一个完整的BDD测试流程,其中Cucumber定义业务逻辑,Guice管理依赖,而WebSphere Maven插件则确保EJB的远程调用在不同环境下的顺畅。这样的组合...
当跨场景重写重用步骤的参数时,展示了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浏览器或者浏览器测试更花哨的了。 这样做的目的是向你展示如何安装和...