【问题标题】:RSpec: Integration test for homepageRSpec:主页的集成测试
【发布时间】:2019-11-19 07:22:31
【问题描述】:

我正在尝试学习使用 RSpec 来测试驱动代码。为此,我正在创建一个库存管理系统。

让product模型具有三个属性:

  1. sku_code
  2. 姓名
  3. 价格

而warehouse模型有四个属性:

  1. wh_code
  2. 姓名
  3. 密码
  4. 最大容量

应用程序的根 url 将显示 products 的当前列表及其在所有 warehouses 中的计数。

我已经阅读过,我应该先编写集成规范,而不是模型规范。

那么我应该如何开始为主页编写规范并继续下一步呢?

【问题讨论】:

  • 这个问题太宽泛以至于毫无意义。 “那么会有多少个集成测试,它们应该叫什么?”。足以涵盖您的应用程序的功能。描述性的名称并告诉其他程序员您正在测试什么。 “还会对根 url 进行任何测试吗?如果是,我该怎么做?”。集成测试只发送 HTTP 请求,然后您编写有关响应的断言。是的,您可能应该测试根路径,它与测试任何其他路径没有什么不同。

标签: ruby-on-rails rspec tdd integration-testing


【解决方案1】:

您正在寻找的可能是使用 capybara 框架进行的功能(集成)测试。在您的情况下,它可能看起来像这样

RSpec.describe 'Homepage', type: :feature do

  before do
    create(:product, name: 'Pants')
    # set how many there is in the warehouse (the model is not clear to me, so I'm not guessing this one)
  end

  scenario 'index page' do
    visit home_page_path
    expect(page).to have_content('Paths, 5 items') # Obviously, this depends on how you plan to present that into
  end
end

这只是关于如何开始的一般指示。您可以搜索 capybara rails tests 并获取大量视频和博客文章来帮助您入门。

所以,请尝试写点东西,如果遇到任何问题,请回到这里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 2016-07-12
    • 1970-01-01
    • 2011-10-31
    • 2013-02-06
    相关资源
    最近更新 更多