首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >FactoryGirl在开发环境中创建对象

FactoryGirl在开发环境中创建对象
EN

Stack Overflow用户
提问于 2013-04-18 20:52:45
回答 4查看 3.1K关注 0票数 6

当我启动开发中的rails控制台时,我看到FactoryGirl正在创建对象。显然我做错了,但是正确的方法是什么呢?这段代码让我的测试工作...

代码语言:javascript
运行
AI代码解释
复制
# tests/factories/board.rb
FactoryGirl.define do

    factory :word do
        sequence(:text) { |n| "FAKETEXT#{n}" }
    end

    factory :board do
        trait :has_words do
            words [
                FactoryGirl.create(:word, id: "514b81cae14cfa78f335e250"),
                FactoryGirl.create(:word, id: "514b81cae14cfa7917e443f0"),
                FactoryGirl.create(:word, id: "514b81cae14cfa79182407a2"),
                FactoryGirl.create(:word, id: "514b81cae14cfa78f581c534")
            ]
        end
    end

end

请注意,在我的config目录中的任何文件中都没有提到工厂的任何内容,所以无论gem自动加载什么。我的Gemfile的相关部分是:

代码语言:javascript
运行
AI代码解释
复制
# Stuff not to use in production
group :development, :test do
    # Command-line debugger for development
    gem "debugger"

    # for unit testing - replace fixtures
    gem "factory_girl_rails"
end

所以我可以把工厂女孩从开发环境中拿出来。但我认为,这些记录是在工厂使用之前创建的,这表明我的工厂写得不正确。但是如果你告诉我工厂写的是正确的,我就会这么做。

EN

回答 4

Stack Overflow用户

发布于 2013-08-31 19:45:56

也有同样的问题。有两种方法可以解决这个问题,

1.使用FactoryGirl语法在工厂内引用工厂。

factory: :my_factory替换FacotryGirl.create(:my_factory)

更多关于这个的信息,https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md#associations

2. Gemfile中的factory_girl :require => false

这导致工厂在引导时生成对象,

代码语言:javascript
运行
AI代码解释
复制
group :development, :test do  
  gem 'factory_girl_rails'
end  

为什么?在Rails引导过程中,Bundler需要development组中的所有gem,而FactoryGirl似乎需要它们的所有工厂文件。请求工厂会计算Ruby代码,因此会调用FactoryGirl.create(:my_factory)

这可以通过以下方式修复:

代码语言:javascript
运行
AI代码解释
复制
# Gemfile
group :development, :test do  
  gem 'factory_girl_rails', :require => false
end  

只需确保在您的测试环境中手动要求factory_girl ,EG

代码语言:javascript
运行
AI代码解释
复制
# spec_helper
require 'factory_girl'
票数 7
EN

Stack Overflow用户

发布于 2016-07-26 00:23:12

您只需将工厂女孩移出开发环境即可。

我也有同样的问题,所以我就这么做了

代码语言:javascript
运行
AI代码解释
复制
group :test do
  gem 'faker'
  gem 'factory_girl_rails'
end

工作起来就像一个护身符。

我在开发中根本没有使用这些gem,所以在测试中定义它们是正确的。

票数 1
EN

Stack Overflow用户

发布于 2013-04-21 01:32:39

对于每个工厂或模型,您必须放入不同的文件

代码语言:javascript
运行
AI代码解释
复制
spec/factories/word_factory.rb
spec/factories/board_factory.rb

所以每个工厂的内容,你可以做类似这样的事情:

代码语言:javascript
运行
AI代码解释
复制
FactoryGirl.define do
  factory :board do
    word
    special_id
  end
end

在您的测试文件夹中时,例如model/board_spec.rb

您可以创建您的对象

代码语言:javascript
运行
AI代码解释
复制
let(:word) { FactoryGirl.create(:word)
let(:board) { FactoryGirl.create(:board, word: word) }

我不确定这就是你需要的,如果我说错了,请纠正我

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16092861

复制
相关文章
JS如何为表单聚焦控件设置醒目的样式
在用户填写表单时,为了让用户集中精力填写或某一个表单控件,可以通过设置此空间的样式来达到目的
itclanCoder
2023/02/26
7.3K0
JS如何为表单聚焦控件设置醒目的样式
web前端之锋利的jQuery八:jQuery插件的使用(表单验证、表单提交)
插件也称扩展,是一种遵循一定规范的应用程序接口编写出来的程序。 1.jQuery表单验证插件-Validation: 最常使用JavaScript的场合就是表单的验证,而jQuery作为一个优秀的JavaScript库,也提供了一个优秀的表单验证插件-Validation,其拥有以下优点: 内置验证规则:拥有必填、数字、email、URL和信用卡号等19类内置验证规则。 自定义验证规则:可以很方便地自定义验证规则 简单强大的验证信息提示:默认了验证信息提示,并提供自定义覆盖默认提示信息的功能 实时
Java帮帮
2018/03/16
6.7K0
表单常用的控件有哪些_html表单控件样式修改
  readonly属性规定输入字段为只读(不能修改); readonly属性不需要值,它等同于readonly=“readonly”。
全栈程序员站长
2022/09/20
3.9K0
jquery上传控件uploadify使用备忘
我简单修改了js和样式,效果如下 使用起来也是超简单,将文件下载并解压到你网站目录下,然后 1、在使用位置插入代码 ============================= <iframe wid
冰封一夏
2019/09/11
9960
使用jQuery Validation插件来验证表单
jQuery Validation是一个用于验证表单的jQuery插件,简单易用,已经包含了16种内置的验证规则.Github上也有更多的验证规则可以使用.这都不是重点,重点是你可以轻松的定制自己的规则. 内置规则: required – Makes the element required. remote – Requests a resource to check the element for validity. minlength – Makes the element require a give
宅蓝三木
2018/02/07
2.1K0
使用jQuery Validation插件来验证表单
jquery 表单验证
("form :input.required").each(function(){
用户5760343
2019/10/10
3.6K0
jquery 表单验证
[WPF自定义控件库]简单的表单布局控件
在WPF中布局表单一直都很传统,例如使用上面的XAML,它通过Grid布局一个表单。这样出来的结果整整齐齐,看上去没什么问题,但当系统里有几十个表单页以后需要统一将标签改为上对齐,或者标签和控件中加一个:号等需求都会难倒开发人员。一个好的做法是使用某些控件库提供的表单控件;如果不想引入一个这么“重”的东西,可以自己定义一个简单的表单控件。
dino.c
2019/06/03
2.5K0
jquery 表单事件
.blur()    当元素失去焦点的时候触发事件。   .blur(handler(eventObject))     handler(eventObject)       每当事件触发时候执行的函数。   .blur([eventData],handler(eventObject))     eventData       一个对象,它包含的数据键值对映射将被传递给事件处理程序。     handler(eventObject)       每当事件
用户1197315
2018/01/19
1.6K0
bootstrap 表单控件
<form role="form"> <div class="checkbox"> <label>
用户5760343
2019/07/07
1.2K0
【实现】表单控件里的子控件的变化。
     上一篇说的是表单布局上的变化,也就是通过TR、TD的设置,实现了多行多列的效果。那么格子画好了,我们 可以往里面放控件了。上次都是用的文本框,这个显然是不行的,还要扩大这个范围。      这个控件的范围就比较大了,不光是TextBox、DropDownList,还有HTM编辑器这类的,都是可能会往里面放的,当然象GridView这样的就先不考虑了。另外还要可以扩展,可以随时增加新的子控件。      那么控件得类型这么多,要如何控制呢?第一用基类,第二用接口。      基类是.net Fram
用户1174620
2018/02/26
1.7K0
【实现】表单控件里的子控件的变化。
表单输入框聚焦效果
css 代码,当然你使用类选择器也是可以的,这里我使用了 css 的属性选择器 关于选择器的优先级,可自行尝试测试:
itclanCoder
2020/10/28
1.5K0
表单输入框聚焦效果
表单控件的副产品——查询控件
查询控件     当初在写表单控件的时候,突然想到,这个表单控件稍微修改一下不就是一个查询控件了吗?     那么查询控件需要做的什么事情呢?          1、自己描绘控件,比如能够自己添加文本框、下拉列表框这一类的控件。          2、可以自己获取用户输入的信息,根据查询方式组合where 后面的 SQL语句 。     是不是和表单控件很像呢?     在表单控件的SaveData()里面我们可以得到字段名称和对应的用户输入的信息,那么我们就可以写成这种方式。         
用户1174620
2018/02/07
1.1K0
第83天:jQuery中操作form表单
注意:checked、selected、disabled要使用.prop()方法。
半指温柔乐
2018/09/11
9140
macOS 中 聚焦搜索 的使用教程
macOS中的聚焦搜索是一个强大的工具,它可以帮助你快速找到文件、应用程序、联系人、电子邮件、互联网搜索结果等。
Alice_sa
2023/09/14
7100
VBA表单控件(三)
大家好,上节演示了数值调节钮和滚动条的小示例,本节开始介绍单选框、分组框和复选框控件的内容。
无言之月
2019/10/13
4.7K0
bootstrap 表单控件大小
<form role="form"> <div class="form-group"> <input class="form-control input-lg" type="text" placeholder=".input-lg"> </div> <div class="form-group"> <input class="form-control" type="text" placeholder="默认输入"> </div> <div class="form-group"> <input class="form-control input-sm" type="text" placeholder=".input-sm"> </div> <div class="form-group"></div> <div class="form-group"> <select class="form-control input-lg"> <option value="">.input-lg</option> </select> </div> <div class="form-group"> <select class="form-control"> <option value="">默认选择</option> </select> </div> <div class="form-group"> <select class="form-control input-sm"> <option value="">.input-sm</option> </select> </div> <div class="row"> <div class="col-lg-2"> <input type="text" class="form-control" placeholder=".col-lg-2"> </div> <div class="col-lg-3"> <input type="text" class="form-control" placeholder=".col-lg-3"> </div> <div class="col-lg-4"> <input type="text" class="form-control" placeholder=".col-lg-4"> </div> </div> </form>
用户5760343
2019/07/07
1.2K0
JQuery表格表单操作
1、多选框应用代码示例 <form action=”#” method=”post”> 你喜欢的明星是?<br /> <input type=”checkbox” name=”boxs” value=”张嘉译” id=”1″ /><label for=”1″>张嘉译</label> <input type=”checkbox” name=”boxs” value=”周润发” id=”2″ /><label for=”2″>周润发</label> <input type=”checkbox” name=”bo
苦咖啡
2018/05/07
1.5K0
VBA表单控件(一)
大家好,Excel中的控件是放置在窗体的一些图形对象,可以用来显示、输入数据或者执行操作等。包括命令按钮、数值调节钮文本框、列表框、单选框、复选框等。
无言之月
2019/10/13
5.1K0
Jquery 异步提交表单
前台部分代码: <div id='error'></div><!--错误提示信息--> <input type='text' id='username' name='username' readonly='Readonly'/><!--readonly为只读--> <input type='password' id='password' name='password'> <input type='text' id='company' name='company'> <input type='text'
用户1503405
2021/09/23
3K0
jquery 操作表单表格
$("tr:contains('王五')").addClass("selected")
用户5760343
2019/10/08
1.5K0
jquery 操作表单表格

相似问题

jQuery模式自动聚焦第一个表单域

13

Symfony表单验证名称为‘’的无效表单控件不可聚焦

18

TinyMCE - name='content‘的无效表单控件不可聚焦

15

使用jquery同时聚焦和(聚焦)

35

自动聚焦jquery弹出窗口中表单的第一个元素

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文