使用cucumber测试过程中de-bug

本文介绍了如何在Rails项目中使用Cucumber进行测试,并利用ruby-debug进行有效的调试。通过设置断点,可以深入理解测试失败的原因,同时介绍了一个强大的Webrat插件,帮助开发者在出现问题时快速定位。
最近,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


页面只有在出现错误的时候,才被打开.
乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值