Ruby on rails 在capybara中保持测试之间的状态/会话
因此,我正在使用Rails4.0+rspec+capybara+databasecleaner编写一些集成测试 目前,每项测试都是完全孤立的。也就是说,如果我想写一个“故事”来测试更改一些用户设置,我需要首先登录,然后导航到用户设置,并更改一个测试的用户名。然后,我必须再次执行整个过程,以测试用户电子邮件的更改 我如何编写一个故事,让每个测试都在同一页上开始,而不在前面使用Ruby on rails 在capybara中保持测试之间的状态/会话,ruby-on-rails,capybara,rspec-rails,Ruby On Rails,Capybara,Rspec Rails,因此,我正在使用Rails4.0+rspec+capybara+databasecleaner编写一些集成测试 目前,每项测试都是完全孤立的。也就是说,如果我想写一个“故事”来测试更改一些用户设置,我需要首先登录,然后导航到用户设置,并更改一个测试的用户名。然后,我必须再次执行整个过程,以测试用户电子邮件的更改 我如何编写一个故事,让每个测试都在同一页上开始,而不在前面使用:each 我找不到任何文档,因此任何提示或帮助都将不胜感激 对于集成测试,您似乎应该能够使用sign_-in测试助手(对于
:each
我找不到任何文档,因此任何提示或帮助都将不胜感激 对于集成测试,您似乎应该能够使用
sign_-in
测试助手(对于designe)或通过第三个参数模拟“signed-in”用户,以post
或put
:post'edit',{hash of parameters to update here},{user_id:user.id}前面的(:each)
然后设置必要的模型数据,以使post
操作生效,如果无法通过post本身传入会话,则设置一个sign\u in
帮助程序。@stringsn88这只是一个步骤:用户登录。而是避免创建用户+一直导航到某个页面。这是缓慢的,当它必须发生所有的时间,而连续的测试需要在同一个确切的页面。