我目前正在尝试将黄瓜和水豚一起用于Web应用的一些集成测试。黄瓜动态加载数据表
有一个测试,我只想点击网页应用程序的所有(或大部分)页面,查看是否没有错误返回。我希望能够看到哪些页面无法正常工作。
我认为,方案轮廓将是最好的办法,所以我以这种方式开始:
Scenario Outline: Checking all pages pages
When I go on the page <page>
Then the page has no HTTP error response
Examples:
| page |
| "/resource1" |
| "/resource2" |
...
我现在有82页,并且工作正常。
但是,我发现这种方法不可维护,因为可能会删除新的资源和资源。
更好的方法是从某处加载表中的数据(解析索引页的HTML,数据库等)。
但我没有弄清楚如何做到这一点。
我碰到一个article about table transformation但我无法弄清楚如何在场景大纲中使用这种转换。
有什么建议吗?
好,因为存在一些混淆。如果你看看上面的例子。所有我想要做的是改变它,这样的表几乎是空的:
Scenario Outline: Checking all pages pages
When I go on the page <page>
Then the page has no HTTP error response
Examples:
| page |
| "will be generated" |
然后我想补充一个转型看起来是这样的:
Transform /^table:page$/ do
all_my_pages.each do |page|
table.hashes << {:page => page}
end
table.hashes
end
我指定的转换在同文件,但它没有被执行,所以我假设转换不适用于Scenario轮廓。
是的,Transform只能在不包含大纲表的步骤参数表上运行。 – mschneider 2012-01-25 13:54:53