我正在加强我的RoR应用程序上的RSpec测试。我想要一个简单的方法来验证点击页面上的每个链接是否被正确处理,即生成一个可识别的路由到控制器,并在控制器中有一个方法来服务它。
我可以为每个页面编写特定的测试,但最好有一个RSpec帮助函数自动查找页面上的所有链接并验证每个链接。顺便说一句,可以放心地假设所有链接都在我的域名内(没有指向外部网站的链接)。
与其通过列举我尝试过的所有事情来膨胀这个问题,我只想问:你会怎么做?似乎是一个常见而有用的功能。
- ff
我会使用水豚问题…
1. make list of pages
2. For each page
3. Visit page
4. get all links using xpath (included in capybaara)
5. For each link
6. do a Rspec test get url; response.should be_ok
这类事情属于集成测试,你可以用RSpec或Cucumber编写。测试一个链接本身的价值是有限的——它会告诉你链接是否坏了,但它不会告诉你链接是否指向错误的地方。
在Cucumber中,你可以这样写:
Given I am on the home page
When I follow "Buy Stuff"
Then I should be on the shopping page