gem install factory_girl
文章是从个人博客转过来的, 可以直接访问 iwangzheng.com
https://github.com/thoughtbot/factory_girl
https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md
今天项目结束,打算搞一下接手这个项目之前的单元测试,因为接受的时候很多测试是跑不通的,于是重新学习了一下 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::TestCase
- include FactoryGirl::Syntax::Methods
- end
- # Cucumber
- World(FactoryGirl::Syntax::Methods)
- # Spinach
- class Spinach::FeatureSteps
- include FactoryGirl::Syntax::Methods
- end
- # MiniTest
- class MiniTest::Unit::TestCase
- include FactoryGirl::Syntax::Methods
- end
- # MiniTest::Spec
- class MiniTest::Spec
- include FactoryGirl::Syntax::Methods
- end
- # minitest-rails
- class MiniTest::Rails::ActiveSupport::TestCase
- include 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 do
- factory :user do
- first_name "John"
- last_name "Doe"
- admin false
- end
- # This will use the User class (Admin would have been guessed)
- factory :admin, class: User do
- first_name "Admin"
- last_name "User"
- admin true
- end
- end
一般在factories的文件夹,以modle名字来命名factory,这样更清晰
来看看我写的这段
FactoryGirl.define do
factory :cms_tv_version do
title "2.0.0"
state 1
end
end
gem install factory_girl的更多相关文章
- mac gem install nokogiri error
Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /Users/angela/.rbenv/versions/1.9 ...
- OSX 10.11 cocoapods安装命令: sudo gem install -n /usr/local/bin cocoapods
10.11 cocoapods安装命令: sudo gem install -n /usr/local/bin cocoapods
- gem install 出现Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org
在安装了rvm来管理多版本的ruby之后,想在不同环境下安装一些gems,结果gem install puma 之后,发现一次又一次失败. gem install 出现Errno::ECONNRESE ...
- sudo gem install cocoapods 没反应问题
1. 尝试更新 sudo gem update --system 2. 查看安装详细 sudo gem install cocoapods -V 3.详细使用有个链接 http://blog.csdn ...
- ruby on rails gem install pg时无法安装
gem install pg -v '0.18.2' Building native extensions. This could take a while... ERROR: Error insta ...
- sudo gem install cocoapods
在使用IOS_BaiduSDK的时候,需要用到cocoapods,所以就需要按照步骤继续着.但是在过程中会遇到一些问题: 1. sudo gem install cocoapods 运行这个报错 Ru ...
- 在openSUSE13.2上gem install rails -v 4.1成功,但是之后不存在rails命令解决
解决方案为,不要用sudo gem install就好了,卧槽
- 本地安装gem install --local redis-stat-0.4.13.gem
因为主机环境不能联外网,悲哀,所以只能想办法下载包,上传到主机来安装 环境:el6.x86_64 1. gem 安装[http://centos.ustc.edu.cn/centos/6/os/x86 ...
- gem install走代理,速度刚刚的
有个树莓pi,安装了shadowsocks 和 cow ,做代理,走ipv6,学校不收ipv6流量钱.速度也不错,快的下载可达10M/s. gem install xx遇到墙了. nano ~/.ge ...
随机推荐
- C++成员权限控制(总结)
1) 前言 在我学习C++的过程中,类中成员的权限控制一直是比较头疼的一个点,一会public,一会又private,还有protected,再加点继承,而且又有公有继承.私有继承,保护继承,所以感觉 ...
- maven integration with eclipse 3.0.4 does not work with NTLM proxy
Recently downloaded m2e(maven integration with eclipse). The version is 3.0.4. My environment is beh ...
- Zigbee技术特点
ZigBee工作原理 基于 ZigBee 的无线设备工作在 868MHZ, 915MHZ 和 2.4Z 频带.其最大数据速 率是 250Kbps. ZigBee 技术主要针对以电池为电源的应用,这些应 ...
- Boostrap(1)
1.简介 Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,可以认为bootstrap就是一个样式库. ...
- 【web必知必会】—— DOM:四个常用的方法
终于开始复习DOM的知识了,这一阵忙乎论文,基本都没好好看技术的书. 记得去年实习的时候,才开始真正的接触前端,发现原来JS可以使用的如此灵活. 说起DOM就不得不提起javascript的组成了,j ...
- F12调试打开时,出现很多多余内容问题解决
关闭vs2013的browserlink功能即可: <appSettings> <add key="vs:EnableBrowserLink" value=&qu ...
- python IO文件处理
python的文件读写操作符有:r w a r+ w+ rb wb 除了以file的方式打开文件,还有一种方式就是open了,两个的用法是一模一样的,可以看成open就是file的别名 下面这个表格是 ...
- zoj3888 找第二大
题目简化后最终要求的就是第二大的数.但是由于数据较大,不能直接求.可以先预处理,求出所有情况. #include<stdio.h> #include<string.h> #in ...
- sql-and、or
WHERE 指令可以被用来由表格中有条件地选取资料. 这个条件可能是简单的 (像上一页的例子),也可能是复杂的.复杂条件是由二或多个简单条件透过 AND 或是 OR 的连接而成.一个 SQL 语句中可 ...
- bootstrap table简洁扁平的表格
使用方法 1.在html页面的head标签中引入Bootstrap库(假如你的项目还没使用)和bootstrap-table.css. <link rel="stylesheet&qu ...