0

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

这就是我关于 BDD 和 RSpec/Capybara 的背景。我真的从今天开始。现在我的情况是这样的:

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

4

1 回答 1

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
于 2012-11-13T01:54:04.193 回答