需要帮助编写此RSpec测试

时间:2012-11-13 01:36:29

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

我是RSpec和BDD的新手。我也是一个Railscast瘾君子,我一直在关注测试,RSpec,BDD和Capybara。具体来说,我一直在看Episode 275一遍又一遍,其中包括使用Guard在您保存规范后自动运行测试,并触及Capybara和集成规格。

这就是我在BDD和RSpec / Capybara那里的背景。我今天开始了。现在我的情况是这样的:

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

1 个答案:

答案 0 :(得分:1)

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

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