ruby-on-rails-3 - 需要帮助编写此 RSpec 测试

标签 ruby-on-rails-3 testing rspec capybara

我是 RSpec 和 BDD 的新手。我也是 Railscast 迷,我一直在尽可能多地关注测试、RSpec、BDD 和 Capybara。具体来说我一直在看Episode 275一遍又一遍,其中包括在您保存规范后使用 Guard 自动运行测试,并涉及 Capybara 和集成规范。

这就是我在 BDD 和 RSpec/Capybara 方面的背景知识。我今天真的开始了。现在我的情况是这样的:

我有一个模型任务。当我创建一个新任务时,我应该会在顶部收到一条闪现消息,说明它已成功创建并被定向到一个新任务页面。然而,在我实现这个之前,我想先编写一个测试来演示这个功能(正如 Bob 大叔曾经说过的,在你至少编写了一个失败的测试之前,你不应该编写任何代码)。不过,我对应该编写什么类型的测试有点迷茫。这是集成规范还是 Controller 规范?或两者?这些测试会是什么样子?

最佳答案

这是一个帮助您入门的通用示例:

describe "Creating a new Task" do
  before do
    # setup tasks for logging in a user with sufficient rights
    # create any objects ont which the new Task depends

    visit "/tasks/new"
    fill_in "name", :with => "Sample Task"
    click_button "Submit"
  end

  it "should show a success message" do
    page.should have_content "Task was created successfully"
  end

  it "should redirect to the show task page" do
    page.should have_content "Show Task"
    task = Task.last
    current_path.should == task_path(task)
  end
end

关于ruby-on-rails-3 - 需要帮助编写此 RSpec 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13354425/

相关文章:

css - 从 3.1 回来后发布 loading rails 3(服务器)

angularjs - 使用 navigateTo 后等待 AngularJS 初始化

rspec - 如何在 RSpec 中包含模块/测试接口(interface)/测试角色?将 POODR 测试代码从 Minitest 转换为 RSpec

ruby-on-rails - RSpec 测试索引 View 和 will_paginate

node.js - 找不到磁带测试目录的 Node js 模块

ruby - rspec-之前(:all) Hook ignored when running all tests

ruby-on-rails - 需要用另一种语言为 Rails 生产应用程序编写代码吗?

ruby - rbenv 和 passenger - 无法从非 root 用户帐户(sudo 组)安装

ruby - 将 activerecord 上的访问器方法映射到 activeresource 上的属性?

c++ - 用于 C++ GUI 桌面 Windows 应用程序的测试自动化工具/库/框架