我认为这可能与我在这个问题中描述的问题有关。
我不明白为什么在使用Factory Girl创建用户工厂时,Capybara无法在我的rails应用程序上测试注册表单。我不断收到一封电子邮件,邮件已被接收,出现错误。这是我的工厂:
FactoryGirl.define do
sequence :email do |n|
"email#{n}@example.com"
end
factory :user do
email
password "secret"
password_confirmation "secret"
end
end
这是我的注册测试:
require "test_helper"
describe "Signup integration" do
before(:each) do
visit signup_path
end
it "successfully routes to the signup page" do
page.text.must_include "Sign Up"
end
it "signs up a new user" do
user = FactoryGirl.create(:user)
fill_in "user_email", :with => user.email
fill_in "Password", :with => user.password
fill_in "Password confirmation", :with => user.password_confirmation
click_button "Create User"
current_path == "/"
page.text.must_include "Signed up!"
end
end
这是我的test\u助手。rb:
ENV["RAILS_ENV"] = "test"
require File.expand_path("../../config/environment", __FILE__)
require "minitest/autorun"
require "capybara/rails"
require "active_support/testing/setup_and_teardown"
class IntegrationTest < MiniTest::Spec
include Rails.application.routes.url_helpers
include Capybara::DSL
register_spec_type(/integration$/, self)
def last_email
ActionMailer::Base.deliveries.last
end
def reset_email
ActionMailer::Base.deliveries = []
end
end
class HelperTest < MiniTest::Spec
include ActiveSupport::Testing::SetupAndTeardown
include ActionView::TestCase::Behavior
register_spec_type(/Helper$/, self)
end
Turn.config.format = :outline
我不太确定这有什么问题。如果我将Capybarasave_and_open_page
方法添加到每一行,它可以一直到达密码字段,但Capybara无法填写密码字段。它将唯一的电子邮件地址(如email3@example.com
)添加到电子邮件字段,但无法添加工厂女孩密码。如果我在测试中输入纯文本密码(fill_in"Password",: with=
我也不确定它是否也与我在应用程序中的登录测试有关?问题是否是Capybara在登录测试中以另一个用户的身份登录?如果是这样,您如何清理测试中的会话?
最后,这是我的gemfile,以防相关:
source 'https://rubygems.org'
gem 'rails', '3.2.8'
gem 'jquery-rails'
gem 'pg'
gem 'heroku'
gem 'taps'
gem 'sorcery'
gem 'bootstrap-sass'
gem 'simple_form'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
group :test do
gem 'minitest'
gem 'capybara'
gem 'capybara_minitest_spec'
gem 'turn'
gem 'factory_girl_rails'
end
发生这种情况是因为您对电子邮件列使用了相同的值,该值应该是唯一的
在Gemfile中的“开发、测试”组中,使用gem fake或gem database\u cleaner。
Fakers允许您为记录生成随机值,同时创建记录后清理数据库
数据库清洁器帮助了我。。
gemfile
gem 'database_cleaner'
minitest\u助手。rb型
class MiniTest::Spec
include FactoryGirl::Syntax::Methods
before :each do
DatabaseCleaner.clean
end
end
问题可能在这方面
user = FactoryGirl.create(:user)
试着把它改成
user = FactoryGirl.build(:user)
工厂女孩。创建创建用户对象的实例并将其保存到数据库中<代码>构建创建实例,但不将其保存到数据库。
我正在使用factory girl和capybara的minitest进行集成测试。当我不使用factory girl创建用户对象时,Capybara工作正常,如下所示: 但是一旦我尝试用工厂女孩创建一个用户,奇怪的事情就开始发生,比如访问方法和click_button方法停止工作。例如,这个测试似乎没有任何问题: 这是我的factories.rb: 下面是我得到的实际错误: 但是,如果我删除了u
问题内容: 我看到很多Node.js模块通过SMTP发送邮件。 但是是否有接收邮件的模块? 问题答案: 您正在寻找一个电子邮件客户端库。目前,有2个选项(如提到这里): 节点imap(IMAP) n3(POP3,实验性) 我以前从未使用过它们,但是用法非常简单(根据文档)。 node-imap 似乎是更稳定的库,并且已针对gmail进行了测试。如果您的环境中可以选择使用IMAP,那么我会坚持使用
我试图从我的应用程序发送电子邮件,我在android上的电子邮件客户端中看到了应有的链接,但当我检查电子邮件接收器时,没有链接。 这是我的代码: “文本”是html。 谢谢你。
问题内容: 我在应用程序中使用了android-parse服务器。下面是解析email列的db屏幕截图。电子邮件列在数据库中隐藏密码列之后。 我的问题是 当我将电子邮件ID检索到电子邮件客户端时,即使电子邮件列中包含电子邮件,电子邮件也为null 。 注意:在另一个地方(另一个表)的应用程序中,我以相同的方式将电子邮件ID拉到电子邮件客户端,但是邮件显示得很好..仅在这里出现问题。 如果有人知道请
我一直在尝试设置AWS简单电子邮件服务,作为一种将收到的电子邮件转发到我的自定义域到我的Gmail帐户的方式,而不需要任何电子邮件托管服务。 我已经设置并验证了我的自定义域(mycustomdomain.com),还验证了它们将转发到的电子邮件地址(myemail@gmail.com)因为我仍然处于沙箱模式。 在电子邮件接收下- 没有指定收件人,我认为这应该允许为我的自定义域下的所有收件人触发此规
将firefox更新到48版,但它给出了以下错误。任何帮助如何解决它: Selenium::WebDriver::错误::WebDriver错误:无法在60秒内从/library/ruby/gems/2.0.0/gems/selenium-webdriver-2.52.0/lib/selenium/webdriver/firefox/launcher获得稳定的firefox连接(127.0.0.1