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

ruby-on-rails – 使用工厂女孩和水豚输入日期

发布时间:2020-12-17 03:02:15 所属栏目:百科 来源:网络整理
导读:我有一个Group模型,我正在使用Capybara的Request specs进行测试,并使用Factory Girl生成数据 在我的groups.rb工厂…… FactoryGirl.define do factory :group do sequence :name do |n| "Group#{n}" end expiry Date.today + 2.weeks endend 并在我的groups_
我有一个Group模型,我正在使用Capybara的Request specs进行测试,并使用Factory Girl生成数据

在我的groups.rb工厂……

FactoryGirl.define do
  factory :group do
    sequence :name do |n| 
      "Group#{n}"
    end
    expiry Date.today + 2.weeks
  end
end

并在我的groups_spec.rb中使用它…

describe "Groups" do
  describe "GET /groups" do
    it "an admin user can create a new group" do
      user = Factory.create(:user,:is_admin => true )
      group = Factory.build(:group)

      visit root_url
      fill_in "Email",:with => user.email
      fill_in "Password",:with => user.password
      click_button "Login"
      click_link "Groups"
      click_link "New Group"
      fill_in "Name",:with => group.name
      # need to change the below to use the Factory eg select Date.new(group.expiry)
      select "2014",:from => "group_expiry_1i"
      select "June",:from => "group_expiry_2i"
      select "1",:from => "group_expiry_3i"
      click_button "Create Group"
      page.should have_content("Group was successfully created.")
      page.should have_content(group.name)
    end
  end
end

所以你看到这不是一个好的方法来进行测试,因为我没有使用工厂生成的到期.有谁知道如何正确输入表格中的失效日期?

解决方法

这只是在没有在Capybara测试的袖口,但我尝试:

select group.expiry.year.to_s,:from => "group_expiry_1i"
select Date::MONTHNAMES[group.expiry.month],:from => "group_expiry_2i"
select group.expiry.date.to_s,:from => "group_expiry_3i"

只要这些值实际存在于下拉列表中,它就应该正确选择它们.

(编辑:李大同)

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

    推荐文章
      热点阅读