FactoryGirl 创建用户,但保存点在测试开始前被释放

2024-03-02

我正在为spec/requests/user_pages_specs运行rspec测试:

require 'spec_helper'

describe "User pages" do

  subject { page }

  describe "home page" do
    before { visit root_path }

    it { should have_content('Sign up with Facebook') }
    it { should have_title(full_title('')) }
  end

  describe "profile page" do
    let(:user) { FactoryGirl.create(:user) }
    before { visit user_path(user.id) }

    it { should have_content(user.name) }
    it { should have_title(user.name) }
  end
end

如您所见,我正在使用 FactoryGirl 创建用户。当我运行相同的命令时(即FactoryGirl.create(:user)) is rails console test --sandbox,用户已正确创建并保存。

然而,当我运行测试时,FactoryGirl 在数据库中创建用户,然后在测试实际运行之前释放它。我可以从 test.log 中看到这一点:

[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m  [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
  [1m[35m (0.1ms)[0m  begin transaction
  [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
  [1m[35mUser Exists (0.1ms)[0m  SELECT 1 AS one FROM "users" WHERE LOWER("users"."email") = LOWER('[email protected] /cdn-cgi/l/email-protection') LIMIT 1
  [1m[36mSQL (2.0ms)[0m  [1mINSERT INTO "users" ("created_at", "email", "name", "oauth_expires_at", "oauth_token", "provider", "uid", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?, ?)[0m  [["created_at", Wed, 23 Apr 2014 16:17:16 UTC +00:00], ["email", "[email protected] /cdn-cgi/l/email-protection"], ["name", "Test User"], ["oauth_expires_at", Wed, 23 Apr 2014 00:00:00 UTC +00:00], ["oauth_token", "10987654321ABCDEFG"], ["provider", "facebook"], ["uid", "12345"], ["updated_at", Wed, 23 Apr 2014 16:17:16 UTC +00:00]]
  [1m[35m (0.0ms)[0m  RELEASE SAVEPOINT active_record_1
Started GET "/users/1" for 127.0.0.1 at 2014-04-23 10:17:16 -0600
Processing by UsersController#show as HTML
  Parameters: {"id"=>"1"}
  [1m[36mUser Load (0.1ms)[0m  [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m  [["id", "1"]]

为什么会发生这种情况以及如何阻止它在测试之后发布?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FactoryGirl 创建用户,但保存点在测试开始前被释放 的相关文章

  • 使用 Ruby on Rails 索引多列

    我在 Mysql 数据库中有一个表 我想在其上使用多列索引 如何在不使用 mysql 控制台的情况下在 Rails 中执行此操作 在迁移定义中 您可以这样做 add index table name column1 column2
  • 多步ActiveRecord的模型验证

    考虑具有以下字段的用户模型 名字 必填 姓氏 必填 电子邮件 必填 要求输入密码 电话 必填 大小 10 位数字 地址 必填 以及包含以下步骤的多步骤注册表单 第一步 包含 名字 姓氏 和 电子邮件 字段 第二步输入密码 电话和地址 您将如
  • Rails 多租户架构,限制多个租户的访问范围

    目前我们有一个单租户数据库架构 MySQL 运行着超过 100 个数据库 我们使用 Apartment gem 切换子域上的数据库连接 一切都很顺利 然而 我们现在需要创建所谓的 伞 客户端 它可以访问一组现有客户端的所有数据 我不认为这对
  • Rails 4 - 带有 dependent-fields-rails 的条件 JS

    我正在尝试弄清楚如何在我的 Rails 4 应用程序中使用 dependent fields rails gem 我迷路了 我已将 underscore js 包含在我的供应商 javascripts 文件夹中 并更新了我的 applica
  • 在 Rails 中强制内联渲染 PDF 文档

    我正在编写一个从一组 XML 文件生成 PDF 文件的服务 正在正确生成 PDF 但是 每次我单击 查看 PDF 链接时 浏览器都会要求用户下载 PDF 文件 我需要 PDF 内联显示 就像任何常规 HTML 页面一样 我虽然我写的代码是正
  • 对 Rails 3.1 中的特定路由强制使用 SSL

    我需要强制启用 SSL所有路线在我的申请中除了landing index In config application rb 我有 config force ssl true Then in landing controller rb 我有
  • 在 Rails 5.1 及更高版本中,使用什么来代替“render :text”(和“render Nothing: true”)?

    轨道 5 1 其中就有老朋友render text 当你需要渲染的时候它非常有用some文本 但不想要视图模板的开销 例子 render text ok render text t business rules project access
  • 将 Twitter 引导样式添加到 Rails 表单助手

    在阅读建议我使用带有引导程序集成的 Simple form gem 的答案后 我安装了它并根据 simple form 说明创建了我的表单 但输入框向右浮动 这是布局 正在使用部分 shared reg 调用该表单 div class co
  • 将文件传递给活动作业/后台作业

    我通过标准文件输入接收请求参数中的文件 def create file params file upload Upload create file file filename img png end 但是 对于大型上传 我想在后台作业中执行
  • A has_many Bs 其中 B 没有主键

    我有型号 A 和 B A has many B 并且 B 属于 A 到目前为止 一切都很好 除了我指定 B 没有主键 我不打算修改或删除单个 B 行 并且我预计会有数百万到数十亿的 B 行 因此省略主键将非常方便 节省空间 创建 B 表的迁
  • Ruby on Rails 从视图路由到控制器中的自定义方法

    我有一个控制器名称帖子 在我的 config routes rb 我用过这个 resources posts app controllers posts controller rb class PostsController lt Appl
  • Rails - 可以在 javascript 函数中设置 Rails 变量吗?

    在 javascript 函数中设置 Rails 变量有什么问题吗 我无法在谷歌上搜索到明确的答案 只是想确保没有我不知道的陷阱或缺陷 我实际上对它是如何工作的感到困惑 如果 javascript 在客户端执行 我不会假设 Rails 会在
  • Rails 应用程序在模型间保存方面遇到问题

    我正在开发一个从网站下载元标签并然后保存的应用程序 下载发生在一个名为Site 我想将下载的机器人元标签保存到一个名为的模型中robots tag它通过一个名为的连接表连接到站点meta tag sites 但是我在站点模型中编写的用于执行
  • 在部分渲染时执行 JavaScript

    我有一些 JavaScript 代码 我想在用户单击其文件夹之一后执行 它会触发 show 操作和 show js erb 从而呈 现部分内容 Show js erb 当用户单击其文件夹之一时触发 如下所示 body append 它成功注
  • 如何在 Rails 中将随机日期时间四舍五入到小时开始?

    基本上我想获得去年内的随机日期时间 rand 1 year ago gt Sun 22 Sep 2013 18 37 44 UTC 00 00 example 但是我该如何指定或限制这个时间呢 例如 Sun 22 Sep 2013 18 0
  • Rails - 格式日期字段

    如何设置 date field 的日期格式样式 我得到了以下表格 这是为日期字段呈现以下 HTML
  • MongoMapper 和 bson_ext 问题

    我无法让 MongoMapper 与我的 Rails 应用程序一起使用 我收到此错误消息 注意 C 扩展未加载 这是最佳 MongoDB Ruby 驱动程序性能所必需的 您可以按如下方式安装扩展 宝石安装 bson ext 如果安装后继续收
  • 为什么 yaml 在生产中不可用?

    在我的 OS X 开发系统上 ruby version ruby 1 8 6 2007 03 13 patchlevel 0 universal darwin8 0 script console Loading development en
  • 处理rails应用程序中的rack_throttle异常

    当超出速率限制时 如何处理由rack throttle gem 生成的错误 现在我只收到包含以下内容的回复 Internal Server Error undefined method each for 403 Forbidden Rate
  • 将 URL 转换为 JSON 版本?

    在我的应用程序的所有页面上 我想要一个指向当前页面的 JSON 版本的链接 有什么巧妙的技巧可以做到这一点吗 当 URL 中包含额外的 参数时 情况就变得复杂了 所以 url 将被转置为 users gt users json users

随机推荐

  • 我应该如何在这个 2d Java 游戏中实现跳跃/重力/下落

    所以这是我的Player类 我想在空格键上跳转的对象 我只是不知道从哪里开始 我可以在互联网上阅读与我相关的任何好的资源吗 任何帮助都很棒 谢谢 package com zetcode import java awt Color impor
  • 填充与有边距的子项

    让我们首先说我理解盒子模型 在我作为开发人员的短暂时间里 我一直试图非常严格地遵循语义 html 并使用响应式设计实践 我最近在一家新公司找到了一份初级开发人员的工作 而我的先生则坚决反对填充 就像他无论如何都不希望它被使用一样 他希望我在
  • 使用 googletest 进行基准测试?

    背景 如果不感兴趣 请跳到下面的问题 我有一个运行三种状态的模拟器 单线程启动 I O 正常 多线程内存中 CPU 限制模拟阶段 I O 不正常 后模拟 后连接单线程阶段 I O 正常 有没有搞错 在标准测试期间 CPU 使用率从100 降
  • 地图上的条形图

    我正在尝试在地图上绘制垂直条形图 我在网上查看了示例 但不知何故无法做到 我的数据目前采用以下格式 University Count Category lat long 这是我尝试执行的代码 library ggplot2 library
  • 我的环境变量是什么? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想在 bash 中找到我的环境变量 它们存储在某个地方吗 我不确定这是否是您想要的 但请尝试printenv这将显示您所有的环境变量 关于它们的存储
  • 验证失败后移动文件 (Java)

    我们正在验证 XML 文件 根据验证结果 我们必须将文件移动到不同的文件夹中 当 XML 有效时 验证器会返回一个值 我们可以毫无问题地移动文件 当 XML 根据架构无效时 也会发生同样的情况 然而 如果 XML 格式不正确 验证器会抛出异
  • 链接库时默认目录上的 gcc 或 g++ 路径搜索顺序

    我见过this https stackoverflow com a 5817315 7724939文章并了解到 在命令行上指定的目录 L在默认目录之前搜索选项 中指定的目录 L按照在命令行中指定的顺序进行搜索 问题是 默认目录有搜索顺序吗
  • 如何在 numpy 中向量化多个矩阵乘法?

    为了理解我的意思 我有两个数据点 x 0 np array 0 6 1 4 None x 1 np array 2 6 3 4 None 还有一个 2x2 矩阵 y np array 2 2 2 2 如果我表演x 0 T y x 0 I g
  • Perl 跳出 If 语句

    这个刚刚出现 我如何摆脱困境if陈述 我有一个很长的 if 语句 但有一种情况我可以尽早摆脱它 在循环中我可以这样做 while something last if some condition blah blah blah 但是 我可以对
  • 无法使用 FirebaseUI 隐藏授权活动的标题栏

    我尝试使用以下样式 然后我在这里应用了上面的样式 startActivityForResult AuthUI getInstance createSignInIntentBuilder setProviders AuthUI EMAIL P
  • 使用 fmdb 的 SELECT WHERE .. LIKE 的正确参数绑定?

    第一次使用 fmdb 尝试开始正确的操作 我有一个简单的单个表 我希望对其执行 SELECT WHERE LIKE 查询 并且在尝试了几种记录的方法之后 我无法得到任何结果来产生正确的结果 e g filter is an NSString
  • Angular 5:预检响应具有无效的 HTTP 状态代码 403

    当我向服务器发送 POST 请求时 出现错误 Failed to load http localhost 8181 test Response to preflight request doesn t pass access control
  • JavaScript 正则表达式三部分

    我需要有关 JavaScript 中正则表达式的帮助 抱歉 我仍在努力学习它 我有字符串 value1 value2 value3 value4 value5 value6 三个部分中的每一个都可以有无穷大的值 我需要分开 var1 val
  • IOAuth.IO 与 Ionic/Angular 混合应用程序集成

    我很难获得 OAuth io 编写的 cordova 插件 https github com oauth io oauth phonegap https github com oauth io oauth phonegap 在 ionic
  • 数据绑定到实现 IEnumerable 的对象的属性

    我正在尝试对对象的实例进行简单的数据绑定 像这样的东西 public class Foo INotifyPropertyChanged private int bar public int Bar snip code to get set
  • 如何自动启动所需的服务和应用程序?

    我正在编写我的第一个 erlang 应用程序 我想按照在 erlang 生态系统中应该完成的方式做事 我的应用程序依赖于已启动的 ssl inets 服务和 log4erl 应用程序 目前我在 erlang shell 中手动启动它们 之后
  • WPF MVVM prism 中的 ASP.net 类似基于表单的身份验证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在开发 WPF MVVM prism 应用程序后 我想实现身份验证 因为它是基于 ASP NET 表单的身份验证 我想限制用户进入需要授权
  • 支持不可变类的 ORM

    哪个 ORM 支持以下领域模型不可变的 types 我想编写如下所示的类 或 Scala 等效项 class A private final C c not mutable A B b init c A doSomething B b bu
  • 更新由另一个减速器管理的状态

    在我的 React 应用程序中 我的appReducer管理全局内容 例如通知 用户信息等 应用程序中的模块之一是库存模块 它有自己的减速器 即inventoryReducer 在 redux 商店中 我组合了所有减速器 当用户输入库存时
  • FactoryGirl 创建用户,但保存点在测试开始前被释放

    我正在为spec requests user pages specs运行rspec测试 require spec helper describe User pages do subject page describe home page d