我正在使用新的应用程序omniauth和cucumber。我有omniauth和工作,我正在尝试添加适当的黄瓜功能测试。我一直在测试中遇到奇怪的错误 - 手动执行相同步骤时我没有得到的错误。
通过“向我展示页面”我将其缩小到以下事实:当黄瓜做任何事情时,它通过文件路径(例如,file:///path/to/app/tmp/capybara/capybara-201107151148029152254898.html
)而不是http路径(例如,{{ 1}})。
为什么我的黄瓜测试会通过文件路径而不是http路径;以及如何解决这种情况?
答案 0 :(得分:1)
我只能猜测Capybara通过以下步骤实现“向我展示页面”:
我认为你的测试使用HTTP就可以很好地使用你的应用程序了。 (您可以随时通过查看日志文件来验证。)但是“向我显示页面”不能简单地打开它正在测试的URL,因为其内容可能会因请求而变化。
示例:测试通过POST发布到/comments
发布评论。如果由于任何原因失败并且Capybara将打开/comments
(引发异常的URL),它将发出GET请求并且无法向您显示它看到的内容。