【问题标题】:how create a test in Rspec to get a users list如何在 Rspec 中创建测试以获取用户列表
【发布时间】:2014-02-02 13:57:50
【问题描述】:

这个描述是 RSpec 创建的默认值。我在使用 TDD 时遇到了困难。我发现它很复杂,并且无法理解整个过程。

例如,我需要通过访问 index 方法来测试它是否返回了一个用户列表。测试此功能的方法是什么?

描述“获取'索引'”做 它“返回http成功”做 获取“索引” 期望(响应).to be_success 结尾 结尾

【问题讨论】:

  • 对您问题中的措辞感到困惑。您在使用 TDD 时遇到困难——您觉得它很复杂——而且您(不)了解整个过程?我想帮助编辑您的问题,使其更清晰,以便我或其他人可以更好地回答。

标签: rspec tdd


【解决方案1】:

您可以避免控制器测试,因为所有逻辑都可以通过验收测试进行测试(使用 rspec + Capybara)。推荐买一本pdf书,最适合rspec学习。 https://leanpub.com/everydayrailsrspec

这里我给你一个例子来回答你的问题:

feature 'Visitor' do

  background do
    2.times |n| { User.new(username: "User #{n}") } #create 2 users to test list
  end

  scenario 'tries to view list of users on users index page' do
    visit users_path #try to enter to users index page
    expect(current_path).to eq users_path #check current path
    expect(page).to have_content 'User 1' #check for User 1 from 'background'
    expect(page).to have_content 'User 2' #check for User 2 from 'background'
  end

end

简单来说,我们是通过'visit'方法进入索引页面,希望看到一些信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 2016-11-25
    • 1970-01-01
    • 2018-02-28
    • 2019-09-17
    相关资源
    最近更新 更多