性能测试——抗攻击-hyenae-ddos攻击
全部标签 在Controller方法中,当向用户发送激活电子邮件时,我将用户变量activation_sent_at设置为等于Time.zone.now。在开发服务器上,这似乎可行(尽管我的应用程序中的时间表达式比我计算机的本地时间晚2小时)。我想包括一个集成测试,测试activation_sent_at是否确实设置正确。所以我包括了这一行:assert_equal@user.activation_sent_at,Time.zone.now但是,这会产生错误:NovisibledifferenceintheActiveSupport::TimeWithZone#inspectoutput.You
我无法让地理编码器正常工作,因为我的本地IP地址是127.0.0.1,所以它无法正确定位我所在的位置。request.location.ip显示“127.0.0.1”我怎样才能使用不同的ip地址(我的互联网连接ip)以便它会带来更多相关数据? 最佳答案 一种干净利落的方法是使用MiddleWare。将此类添加到您的lib目录:#lib/spoof_ip.rbclassSpoofIpdefinitialize(app,ip)@app=app@ip=ipenddefcall(env)env['HTTP_X_FORWARDED_FOR']
我正在测试lib/pdf_helper.rb。所以我创建了spec/lib目录。然后我在spec/lib目录中创建一个文件pdf_helper_spec.rb。当我测试pdf文件夹应该在public文件夹中时,这是我的代码require'spec_helper'require'pdf_helper'describe"Pdfhelpers"doit"Shouldbeinpublicfolder"dofile=File.new("#{Rails.root}/public/pdf")ifFile.exist?(file)=='true'puts"Success"elseputs"failed
鉴于我有一条命名路线:map.some_route'/some_routes/:id',:controller=>'some',:action=>'other'如何使用路由规范文件“spec/routing/some_routing_spec.rb”来测试该命名路由?我在“describeSomeRouteController”block之后尝试过这个,但它不起作用,我得到“未定义的方法”helper:describeSomeRouteHelper,'someroutesnamedroutes'doit'shouldrecognizesome_route'dohelper.some_r
我正在创建一个接受JSON数据的API,我想为其提供测试数据。有没有类似于JSON数据工厂的东西?我希望在对象和JSON中提供相同的数据,以便我可以检查导入是否按预期工作。JSON具有严格定义的结构,所以我不能调用FactoryGirl(:record).to_json。 最佳答案 在这种情况下,我将为要导入的JSON创建夹具文件。像这样的东西可以工作:json=JSON.parse(File.read("fixtures/valid_customer.json"))customer=ImportsData.import(json)
当通过alias_method创建的方法调用时,__callee__忽略旧方法的名称(此处为xxx)并返回新方法,如下:classFoodefxxx()__callee__endalias_method:foo,:xxxendFoo.new.foo#=>:foo即使xxx是从父类(superclass)继承的,这种行为仍然存在:classSupdefxxx()__callee__endendclassBar:bar鉴于以上两者,我希望当通过模块包含xxx时,同样的行为会发生。然而,事实并非如此:moduleModdefxxx()__callee__endendclassBazinclu
使用rubyonrails3进行并发测试的最佳方法是什么?我的网站上有很多竞争条件,目前测试它们是一门不精确的科学,非常耗时。提前感谢您的任何回复。 最佳答案 我相信Tourbus可以提供帮助。 关于ruby-on-rails-如何进行RubyonRails并发测试?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6125343/
我们想设置自动化作业(通过Jenkins)以在第三方API出现故障或他们部署了不兼容的API时发出警报。我说的是针对真实的HTTPAPI进行测试,而不是模拟,但是因为我们已经使用rspec编写了模拟,所以我不确定我们是否应该通过编写两个独立的睾丸来重复这项工作。有人有这方面的经验吗?(如果其他工具可以提供帮助,我不限于Ruby/Rspec) 最佳答案 你看过VCR了吗??使用它,您可以“记录您的测试套件的HTTP交互并在未来的测试运行期间重播它们以进行快速、确定性、准确的测试”。在测试来自外部API的预期响应时,我将它与RSpec一
很多时候,人们编写的测试在弄乱状态时不会自行清理。通常这无关紧要,因为对于大多数测试而言,对象往往会被拆除并重新创建,但在某些不幸的情况下,对象的全局状态会在整个测试运行期间持续存在,并且当您运行测试时,这取决于和修改那个全局状态,按照某种顺序,他们失败了。这些测试和可能的实现显然需要修复,但是当相互影响的测试可能不是完整测试套件中唯一的东西时,试图找出导致失败的原因是一件痛苦的事情。当最初不清楚故障是否与顺序相关,并且可能间歇性地或在一台机器上而不是另一台机器上失败时,这尤其困难。例如:rspectest1_spec.rbtest2_spec.rb#failuresintest2rs
我有一个现有的Rails3项目,它在ruby1.9.2-p290上工作得很好。然而,升级到ruby1.9.3-p0会导致raketest吐出以下错误:/Users/zmanji/.rbenv/versions/1.9.3-p0/lib/ruby/1.9.1/test/unit.rb:167:in`blockinnon_options':filenotfound:test/unit/**/*_test.rb(ArgumentError)from/Users/zmanji/.rbenv/versions/1.9.3-p0/lib/ruby/1.9.1/test/unit.rb:14