我是ruby的新手,我开始使用cucumber-nagios进行一些BDD测试。
我已经使用以下说明在Mac Pro上安装了cucumber-nagios:
http://auxesis.github.com/cucumber-nagios/
我的Mac正在运行Snow Leapord 10.6.6并安装了ruby 1.8.7。
我创建了一些简单的功能来机械化表单提交。但是,每当我提交表单时尝试,表单字段的值都不会随请求一起传递。不返回任何错误(除了报告处理预期响应页面的最后一步的错误)。
认为表格可能太复杂了我在w3网站上使用了一个非常简单的表格作为最简单的测试用例。
http://www.w3schools.com/html/html_forms.asp
提交的表格是:
用户名:这些是我的功能步骤:
When I go to "http://www.w3schools.com/html/html_forms.asp"
And I fill in "user" with "Chinese"
And I press "Submit"
Then I should see "user=Chinese"
填写表格是使用http_steps.rb =>中提供的golden-nagios标准步骤代码完成的。
When /^I fill in "(.*) with "(.*)"$/ do | field, value|
fill_in(field, :with => value)
end
运行时
cucumber-nagios features/form.feature
除了最后一步之外,所有步骤都已通过,HTML回复表明我没有使用我的表单提交任何数据。
我开启了webrat日志记录,但这并没有提供任何有用的信息。
正如我所说,我在其他网站和表单上尝试过类似的代码,结果完全相同。
我唯一能想到的是,我错过了整个黄瓜 - 纳吉奥斯设置中的一些重要部分。我是否需要像创建Rails应用程序一样创建和配置数据库?请原谅我的无知。
答案 0 :(得分:1)
我遇到了同样的问题,我们将其追踪到webrat,而不是正确地发布表单。
虽然它不是一个优雅的解决方案,但我们发现告诉webrat它处于Rails模式解决了这个问题。
将以下代码添加到features/support/env.rb
文件中,该文件由cucumber-nagios在您创建新项目时生成。
Webrat.configure do |config|
config.mode = :rails
config.open_error_files = false
end
我写了一篇名为Checking form Submissions with Cucumber-Nagios的博客文章,更详细地解释了答案。