问题标签 [factory-bot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - factory_girl + rspec 在每个示例之后似乎都没有回滚更改
与此处描述的问题类似: http ://rpheath.com/posts/411-how-to-use-factory-girl-with-rspec
简而言之(缩短的代码):
规范助手:
工厂.rb:
在我的规范中
错误:
重复的条目名称“NY”等
问题: rspec 不应该在每个规范示例之前清除数据库,从而不会引发重复输入错误吗?
ruby-on-rails - 如何重置 factory_girl 序列?
前提是我有项目工厂
我正在创建项目实例
到这个时候,下次我执行 Factory.build(:project) 时,我将收到一个标题设置为“项目 3 标题”的 Project 实例,依此类推。不奇怪。
现在说我希望在这个范围内重置我的计数器。就像是:
实现这一目标的最佳方法是什么?
我目前正在使用以下版本:
factory_girl (1.3.1) factory_girl_rails (1.0)
ruby-on-rails - 如何在 factory_girl 中建立/创建多对多关联?
我有一个与Person
模型具有多对多关系的Email
模型,我想创建一个工厂,让我为这个人生成名字和姓氏(这已经完成)并创建一个基于的电子邮件地址那个人的名字。这是我创建person
的名称:
ruby-on-rails - Rails 单元测试中的辅助函数
我在单元测试的代码中使用了这种代码。
我使用的是 FactoryGirl 而不是固定装置。
我发现我经常重复自己,并且拥有辅助函数会非常有用。在单元测试中创建和调用辅助函数的最佳方法是什么?控制器中是否有before_filter
可用的(我尝试将其放入,但它只是一个未定义的方法)。任何帮助表示赞赏!
ruby-on-rails - 在 factory_girl 定义中指定随机关联对象
有没有办法factory_girl
指定关联应该指向的随机实例?例如,我有一个Like
对象belongs_to
oneUser
和 one SocialUnit
。我希望工厂Like
选择一个随机现有的User
和一个随机SocialUnit
喜欢的,而不是仅仅生成一个新的。下面的片段类型的作品:
它确实选择了一个随机用户,但似乎随机用户只被选择了一次,因为运行这个
用同一个用户创建一堆喜欢。我想这是有道理的……工厂被定义一次,然后被重复使用了很多次。
我可以使用序列来强制随机性;有没有办法在工厂定义中定义它,或者顺序是最好的方法?
谢谢。
ruby-on-rails - 一些 Rails 单元测试问题(使用 Shoulda + Factory girl)
我有几个复杂的对象要存根(我使用的宝石实例)。我在哪里可以集中这些存根以使它们可用于所有测试?
如何在没有 rake:test 的情况下以编程方式清除测试之间的数据库?我想通过 textmate 快速运行单个测试,但是这样做会出错,因为它不会在测试之间清除数据库
测试运行缓慢,因为它必须启动一个 Rails 实例。如何加快测试速度?特别是在编写测试并希望快速运行更改时
ruby-on-rails - Factory Girl 创建的对象在测试之间没有清除?
我在实施测试时感到有些困惑。使用 User.create 我可以在多个测试中创建和保存:
但是使用 Factory.create,它会引发 ActiveRecord 重复条目错误:
错误:“ActiveRecord::StatementInvalid: Mysql::Error: Duplicate entry”
是什么赋予了?
ruby-on-rails - 为什么 factory_girl 不为我进行交易操作?- 测试后行保留在数据库中
我正在尝试使用 factory_girl 创建一个“用户”工厂(使用 RSpec),但它似乎并没有以事务方式运行,并且显然由于测试数据库中先前测试的残余数据而失败。
运行第一组测试很好:
一切都很好,正如预期的那样,但是再次运行测试:
修复尝试 - 使用 Factory.sequence
由于我的电子邮件字段有唯一性约束,我尝试使用 factory_girl 的序列方法来解决问题:
然后我跑了
用户似乎保留在数据库中
如果我查看 /db/test.sqlite3 数据库,似乎测试用户的行在测试之间没有从数据库中回滚。我认为这些测试应该是事务性的,但对我来说似乎并非如此。
这可以解释为什么测试第一次运行正确(如果我清除数据库)但第二次失败。
谁能解释我应该改变什么以确保测试以事务方式运行?
factory-bot - 这个工厂女孩的定义有什么问题
测试失败得很惨,因为Factory.create(:colonia)
总是创建一个 id 等于 0 的 Colonia 对象!!!@_@
为什么这个工厂要创建 id 为 0 的对象?
ruby-on-rails - Rails 3 和 Factory Girl 仅在传入属性时创建用户
我正在使用 Rails 3 rc、Factory Girl、Rspec 和 Authlogic。是否有任何方式或原因会发生这种情况:
当我创建这样的用户时:
我收到密码确认“太短”的问题。
我的 factory.rb 是
但是当我在手动输入 :password 和 :password_confirmation 时创建一个,它工作得很好。
有谁知道是什么原因造成的?