文章是从个人博客转过来的,  可以直接访问 iwangzheng.com

https://github.com/thoughtbot/factory_girl

https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md

http://ruby.taobao.org/

今天项目结束,打算搞一下接手这个项目之前的单元测试,因为接受的时候很多测试是跑不通的,于是重新学习了一下 factory_girl

gem install factory_girl (半天没响应)

由于国内网络原因(你懂的),导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。所以你会与遇到 gem install rack 或 bundle install 的时候半天没有响应,具体可以用 gem install rails -V 来查看执行过程。现在来更换一下gem source

$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***http://ruby.taobao.org
# 请确保只有 ruby.taobao.org

Configure your test suite

# rspec
RSpec.configure do |config|config.include FactoryGirl::Syntax::Methods
end# Test::Unit
class Test::Unit::TestCaseinclude FactoryGirl::Syntax::Methods
end# Cucumber
World(FactoryGirl::Syntax::Methods)# Spinach
class Spinach::FeatureStepsinclude FactoryGirl::Syntax::Methods
end# MiniTest
class MiniTest::Unit::TestCaseinclude FactoryGirl::Syntax::Methods
end# MiniTest::Spec
class MiniTest::Specinclude FactoryGirl::Syntax::Methods
end# minitest-rails
class MiniTest::Rails::ActiveSupport::TestCaseinclude FactoryGirl::Syntax::Methods
end由于我们用的是rspec,所以选第一种,所在spec/spec_helper.rb里配置第18行那句

1 # -*- encoding : utf-8 -*-
2 # This file is copied to spec/ when you run 'rails generate rspec:install'
3 ENV["RAILS_ENV"] ||= 'test'
4 require File.expand_path("../../config/environment", __FILE__)
5 require 'rspec/rails'
6 require 'rspec/autorun'
7 require "email_spec"
8
9 # Requires supporting ruby files with custom matchers and macros, etc,
10 # in spec/support/ and its subdirectories.
11 Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
12 Dir[Rails.root.join("lib/mock*.rb")].each {|f| require f}
13
14 RSpec.configure do |config|
15 config.fixture_path = "#{::Rails.root}/spec/fixtures"
16 config.use_transactional_fixtures = true
17 config.infer_base_class_for_anonymous_controllers = false
18 config.include FactoryGirl::Syntax::Methods
19 config.global_fixtures = :all
20 config.include(EmailSpec::Helpers)
21 config.include(EmailSpec::Matchers)
22 end

Defining factories

# This will guess the User class
FactoryGirl.define dofactory :user dofirst_name "John"last_name  "Doe"admin falseend# This will use the User class (Admin would have been guessed)factory :admin, class: User dofirst_name "Admin"last_name  "User"admin      trueend
end

一般在factories的文件夹,以modle名字来命名factory,这样更清晰

来看看我写的这段

FactoryGirl.define do
    factory :cms_tv_version do
       title "2.0.0"
       state 1
    end
end

 

转载于:https://www.cnblogs.com/iwangzheng/p/3658766.html

gem install factory_girl相关推荐

  1. ruby gem install rails 错误解决方法

    http://blog.csdn.net/evsqiezi/article/details/12710563 在安装ruby 的gem的时候可能会出现下面这样的提示, 按照给出的提示有两种办法可以解决 ...

  2. bundle install 出现 #39;gem install mysql2 -v #39;0.3.15#39; succeeds before bunding #39;

    bundle install 出现  'gem install mysql2 -v '0.3.15' succeeds before bunding ' 解决:sudo apt-get install ...

  3. 本地安装gem install --local redis-stat-0.4.13.gem

    因为主机环境不能联外网,悲哀,所以只能想办法下载包,上传到主机来安装 环境:el6.x86_64 1. gem 安装[http://centos.ustc.edu.cn/centos/6/os/x86 ...

  4. gem install sass 本地配置和淘宝源无效的解决办法

    按官方教程,这样就行了: $ gem sources --remove https://rubygems.org/ $ gem sources -a https://ruby.taobao.org/ ...

  5. gem install 和 bundle 区别

    bundle install 在设置了所有包含在Gemfile中的东西.你也可以传递参数. 如果在production模式下,你很清晰的区分了每个app需要的gems. gem install 则安装 ...

  6. gem install gollum

    记录下遇到的问题: 提示ruby错误 $gem install gollum ERROR:  Could not find a valid gem 'gollum' (>= 0), here i ...

  7. MAC中安装 sudo gem install cocoapods 报错 Building native extensions. This could take a while...

    原文地址声明:https://blog.csdn.net/qq_23179075/article/details/104819430 在MAC中安装 sudo gem install cocoapod ...

  8. macOS安装 cocoapods1.9.1失败Failed to build gem native extension

    最近团队内升级cocoapods到1.9.0.原本我简单的以为执行sudo gem install cocoapods 来更新.万万没想到. 执行多次都是:ERROR: Error installin ...

  9. 安装Pod时提示ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod...

    环境:OSX EI 10.11.1 昨天切换gem源后,招待pod安装没有任何问题,也可以正常用$ gem sources --add https://ruby.taobao.org/ --remov ...

最新文章

  1. php 获取日期标签的值,在php中获取标签的选定索引值
  2. Can't connect to MySQL server on 'localhost' (10061)的解决办法!
  3. Navicat 数据库连接工具连接oracle数据库提示cannot create oci handles问题解决方法
  4. oracle全局批准供应商,Oracle EBS-SQL (PO-7):检查异常-非批准的供应商设置供货比例.sql...
  5. AngularJS中的DOM value与view value
  6. JavaSE 学习参考:枚举类型
  7. java bigInteger +1 加常数
  8. Linux 内存管理之 SLUB分配器(5):slub初始化过程
  9. android手机通讯录格式转换,手机通讯录csv格式转vcf格式工具 安卓电话本数据格式转换程序...
  10. 电气专业标准规范大全html,电气专业规范大全
  11. debian 安装五笔输入法
  12. BP神经网络综合评价法
  13. unity自动生成敌人_unity 2d AI 敌人 自动追踪(1)
  14. 【2014-08-23】Beyong Coding
  15. win10网络适配器不见了_win10网络适配器消失不见的解决方法
  16. 67 2020:我的总结和给圈友的话【2020-12-31 0003】
  17. node.js仿知乎
  18. 面试阿里被问的哑口无言,原来我……
  19. mysql binlog grep_通过mysqlbinlog和grep命令定位binlog文件中指定操作
  20. python打开qq并登录_使用Python进行QQ批量登录的实例代码

热门文章

  1. kml用什么软件打开?
  2. 加拿大蒙特利尔城市风景高清Mac动态壁纸
  3. wince 之临时宏控制 bib 和 reg
  4. C#生成word的几种方式。过程及问题记录。
  5. BFA“瑞云科技”大视频讲堂第五期“从好莱坞电影融资模式到中国电影的国际化”...
  6. 这一周 火火火 的 GitHub 项目
  7. 苹果现在正在销售独家Belkin充电器。 AirPower死了吗?
  8. 商业数据分析-战略分析读后感
  9. Seata的四种模式介绍
  10. 考研路茫茫——早起看书