我是RSpec和BDD的新手。我也是一个Railscast瘾君子,我一直在关注测试,RSpec,BDD和Capybara。具体来说,我一直在看Episode 275一遍又一遍,其中包括使用Guard在您保存规范后自动运行测试,并触及Capybara和集成规格。
这就是我在BDD和RSpec / Capybara那里的背景。我今天开始了。现在我的情况是这样的:
我有一个模型任务。当我创建一个新任务时,我应该在顶部收到一条flash消息,说它已成功创建并被定向到新的任务页面。但是,在我实现之前,我想首先编写一个测试来演示这个功能(正如Uncle Bob曾经说过的那样,在你编写至少一个失败的测试之前,你不应该编写任何代码)。虽然我应该写什么类型的测试,但我有点迷茫。这是集成规范还是控制器规范?或两者?这些测试会是什么样的?
答案 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