我刚刚开始使用 Cucumber 和 Webrat,并且正在向现有的 Rails 应用程序添加功能规范。应用程序中的一个页面上有多个表单,代表构建新角色对象的不同方式。这是一个简化的示例:
<form id="adopt_character_form">
....
<input type="text" name="character[name]" id="character_name">
...
</form>
<form id="spawn_character_form">
....
<input type="text" name="character[name]" id="character_name">
...
</form>
如您所见,页面上有(至少)两个具有相同名称和 id 的字段,尽管它们采用不同的形式,我无法在 Webrat rdoc 或源代码中找到指定特定一。
我知道我可以更改其中一个的名称或 id,但我必须偏离 Rails 命名约定才能这样做,我真的不想这样做。我也可以将表单放在不同的页面上,但是对工作流程的修改比我想做的要多。我也可以尝试将它们合并到一个更加模块化和动态的单一表单中,但是为了支持给定的测试框架而不得不对 UI 进行结构性更改似乎有点问题,并且可能并不总是可行的,而且我会需要javascript。
有没有办法在 Webrat 中指定这些字段之一,或者我应该放弃并在另一个项目上尝试 Cucumber?