作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Rails 的新手,我正在使用 capybara rspec 和 factory girl 测试我的设计 gem 用户。
这是规范代码:
require 'rails_helper'
RSpec.describe User, type: :request do
it "displays the user's email after successful login" do
user = FactoryGirl.create(:user, email: 'test@test.com', password: 'password')
visit root_url
fill_in 'Email', with: 'test@test.com'
fill_in 'Password', with: 'password'
click_button 'Log in'
expect page.has_content?('jdoe')
end
end
问题出在
expect page.has_content?('jdoe') No matter what i put instead 'jdoe' test works perfectly without any errors.
这是工厂:
FactoryGirl.define do
factory :user do
email 'test@test.com'
password 'password'
password_confirmation 'password'
end
end
也许我错过了什么或者走错了路。我应该如何在这里测试?
最佳答案
# spec/features/sessions_spec.rb
require 'rails_helper'
RSpec.feature "Sessions" do
scenario "displays the user's email after successful login" do
user = FactoryGirl.create(:user)
visit root_url
fill_in 'Email', with: user.email
fill_in 'Password', with: user.password
click_button 'Log in'
expect(page).to have_content("Signed in successfully")
# will give a false postitive if form is rerended?
expect(page).to have_content(user.email)
end
end
这里有几件事:
expect(page).to
而不是 expect page.should
。 expect(page).to
设置主题并使用 RSpec 匹配器,如果不匹配,它将在错误消息中向您显示页面文本。关于ruby-on-rails - 使用 capybara rspec 和工厂女孩测试设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40261459/
我是一名优秀的程序员,十分优秀!