RSpec页面变量

时间:2013-12-12 15:16:19

标签: ruby-on-rails rspec capybara

rspec功能测试如何隐含地知道使用页面对象中的findwithinfill_in等方法?

我为我的一些rspec测试编写了一个帮助器类,并希望使用这些方法,并意识到我需要将页面对象传递给方法,然后使用page.find等。 / p>

2 个答案:

答案 0 :(得分:1)

RSpec通过在需要这些方法的情况下包含Capybara::DSL来实现此目的。如果您想查看https://github.com/jnicklas/capybara/blob/f83edc2a515a3a4fd80eef090734d14de76580d3/lib/capybara/dsl.rb

,该模块非常优雅

答案 1 :(得分:0)

假设您要包含以下模块:

module MailerMacros
  def last_email
    ActionMailer::Base.deliveries.last
  end

  def reset_email
    ActionMailer::Base.deliveries = []
  end
end

要包含它们,只需拨打config.include(MailerMacros),就像这样:

RSpec.configure do |config|
   config.include(MailerMacros)
end

现在,您应该可以致电reset_email()& last_email代替MailerMacros::reset_email()