加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何测试Rails / Capybara / Cucumber或Rspec

发布时间:2020-12-16 19:38:05 所属栏目:百科 来源:网络整理
导读:我使用的是rspec,cucumber和capybara,我正在寻找一种方法来测试恶意用户不能抄袭表单,然后发布到他/她没有权限的URL.我在cancan中设置了我的权限,以便这个“应该”工作,但是,我可以测试的唯一方法是自己抄袭一个表单. 如何自动化这种测试?有了webrat,我可以
我使用的是rspec,cucumber和capybara,我正在寻找一种方法来测试恶意用户不能抄袭表单,然后发布到他/她没有权限的URL.我在cancan中设置了我的权限,以便这个“应该”工作,但是,我可以测试的唯一方法是自己抄袭一个表单.

如何自动化这种测试?有了webrat,我可以用rspec的单元测试来做这件事

put :update,:user_id => @user.id,:id => @user_achievement.id
response.should contain("Error,you don't have permission to access that!")

然而,在水……………….我找不到办法去做,我已经到了任何地方.

任何帮助将不胜感激,
谢谢

解决方法

我想你可以通过机架测试来做到这一点
https://github.com/brynary/rack-test

在你的宝石文件中:

gem 'rack-test'

在你的env.rb文件

module CapybaraApp
  def app; Capybara.app; end
end
World(CapybaraApp)
World(Rack::Test::Methods)

某个地方有定义:

When /^I send a POST request to "([^"]*)"$/ do |path|
  post path
end

我学到的大部分内容来自于这里:http://www.anthonyeden.com/2010/11/testing-rest-apis-with-cucumber-and-rack-test

更新:我想你可以跳过你的env.rb文件的更新版本的更新版本的Rails和/或黄瓜(不知道哪些,我只是不做这个部分在我的新项目,它的工作正常)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读