Tag: rspec

轮询时如何修复黄瓜期望错误?

我有帮助sign_in用户。 我正在尝试使用新方法来确保用户使用轮询登录: def sign_in(user, password = ‘111111’) # … click_button ‘sign-in-btn’ eventually(5){ page.should have_content user.username.upcase } end 最后是: module AsyncSupport def eventually(timeout = 2) polling_interval = 0.1 time_limit = Time.now + timeout loop do begin yield rescue Exception => error end return if error.nil? raise error if Time.now >= time_limit sleep polling_interval end end end […]

rspec错误’report_activate_error’:找不到RubyGem rspec-core(> = 0)(Gem:LoadError)

我有一个看似简单的错误,但我似乎无法弄清楚如何解决它。 我尝试过卸载并重新安装,但这并没有帮助我。 我是终端的新手,还有铁轨上的ruby/ruby,所以请原谅我潜在的愚蠢问题。 有谁知道如何解决这个问题? 这是我尝试运行rspec时得到的确切错误消息。 /opt/local/lib/ruby/vendor_ruby/1.8/rubygems.rb:827:in report_activate_error’: Could not find RubyGem rspec-core (>= 0) (Gem::LoadError) from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems.rb:261:in :在/ usr / local / bin / rspec中从/opt/local/lib/ruby/vendor_ruby/1.8/rubygems.rb:68:in’gem’激活’:18 任何帮助将不胜感激。 我目前正在进行RoR教程,无法让它工作…… 提前致谢!

为什么Rails实例方法可以用作rspec中的类方法

我在一篇关于在Rails应用程序中发送邮件的文章中找到了一个片段: class ExampleMailerPreview < ActionMailer::Preview def sample_mail_preview ExampleMailer.sample_email(User.first) end end 在此链接: http : //www.gotealeaf.com/blog/handling-emails-in-rails 。 我不知道为什么方法: sample_email() ,在我看来应该是一个实例方法,可以像ExampleMailer.sample_email()一样在类方法中访问。 谁有人解释一下?

间谍是否适合查看Resque方法是否被解雇?

虽然简单的报道报道这是100%覆盖我不满意。 标记为焦点的规范我想确认所有Resque方法都被触发。 这是一个间谍还是双人的正确方法? 规格 describe ‘resque tasks’ do include_context ‘rake’ let(:task_paths) { [‘tasks/resque’] } before do invoke_task.reenable end # rubocop:disable all describe ‘resque’ do context ‘:setup’ do let(:task_name) { ‘resque:setup’ } it ‘works’ do invoke_task.invoke expect(Resque.logger.level).to eq(1) end end context ‘:scheduler_setup’ do let(:task_name) { ‘resque:scheduler_setup’ } it ‘works’ do expect(invoke_task.invoke).to be end end context ‘:clear’, […]

为什么我不能创建在rspec中计算某些内容的活动记录?

我创建记录后为什么计数为零? require ‘spec_helper’ … describe “keep admin” do its “Can’t delete the only admin” do user1 = User.create(username: ‘user1’, password: ‘abc123’, admin: true) user2 = User.create(username: ‘user2’, password: ‘def456’, admin: true) user3 = User.create(username: ‘user3’, password: ‘ghi798’, admin: true) #User.delete_me(user1) currently commented out to be sure. #User.delete_me(user2) #User.delete_me(user3) expect(User.where(admin: true).count).to eq 3 end end 1) […]

使用spork的Rails项目 – 总是要使用spork?

如果我在我的rails项目中使用spork并且有一个像这样的spec_helper.rb文件 require ‘spork’ Spork.prefork do … end Spork.each_run do … end 这是否意味着当我通过rspec spec运行我的规格时,我总是需要spork运行? 意思是,如果我还没有在终端窗口中执行$ spork ,这是否意味着我的规格将无法正常运行?

使用rr得到块

我正在尝试使用rr测试以下代码: response = RestClient.get(url, {:params => params}){|response, request, result| response } 在vanilla rspec ,你会做这样的事情: RestClient.should_receive(:get).with(url, {:params => params}).and_yield(response, request, result) 我怎么用rr做同样的事情? 建立: let(:url) { “http://localhost/” } let(:params) { {:item_id => 1234, :n => 5} } let(:response) { Object.new } let(:request) { Object.new } let(:result) { Object.new } 我尝试了很多变化: mock(RestClient).get(url, {:params => params}) { response, request, […]

未定义的局部变量或方法 – 使用Beaker测试Puppet模块

我对这一切都很陌生。 我正在尝试使用Beaker测试一个木偶模块。 我一直这样: NoMethodError: undefined method `describe’ for #Beaker::TestCase:0x007fd6f95e6460 /Users/user1/beaker/Puppet/puppet-files/spec/classes/unit_spec.rb:3 /Users/user1/.rvm/gems/ruby-2.2.7/gems/beaker-3.24.0/bin/beaker:9 /Users/user1/.rvm/gems/ruby-2.2.7/bin/ruby_executable_hooks:15 /Users/user1/.rvm/gems/ruby-2.2.7/bin/ruby_executable_hooks:15. This is the command that I’m running – “beaker –hosts myhost.yaml –pre-suite spec”. 我的unit_spec.rb包含: require ‘puppetlabs_spec_helper/rake_tasks’ describe ‘application’ do context ‘applied to supported operating system’ do on_supported_os.each do |os, facts| context “#{os}” do let(:facts) do facts end context “without any parameters” do […]

使用RSpec测试警告

是否有可能使用RSpec测试Ruby的警告? 像这样: class MyClass def initialize warn “Something is wrong” end end it “should warn” do MyClass.new.should warn(“Something is wrong”) end

在RSpec请求规范中对控制器操作进行存根

我正在为服务器错误编写API测试用例。 我想存根控制器操作以引发错误以模拟服务器错误(500)。 在请求规范中,未设置controller变量。 it “Should return 500 upon server error” do controller.stub(:index).and_raise(ArgumentError) get “/users.json” response.code.should eq(“500”) end