我正在学习 Rails 4,并尝试使用 Rspec 和 capybara 编写一些测试。我正在为我的用户编写功能测试,并且正在尝试测试用户登录。
feature "User" do
scenario "A user signs in" do
let(:user) { FactoryGirl.create(:user) }
visit signin_path
fill_in "Username", with: user.username
fill_in "Password", with: "123456"
click_button "Log in"
expect(page).to have_content(user.username)
end
end
它告诉我 let 是一个未定义的方法。而且我确定问题在于它在功能/场景测试中。如何在这种测试中定义用户?
此外,在这样的描述/它请求测试中
describe "Something" do
it "should do something" do
expect(page).to have_content{"...")
end
end
我可以这样缩短
describe "Something" do
subject { page }
it { should have_content("...") }
end
有没有办法缩短expect(page).....
场景中的时间?谢谢。