本文根据 Devhints / Machinist 翻译。代码示例及版本范围沿用原文。此资料为归档或旧版本参考。
原文归档说明:Machinist 自 2013 年起已停止维护。
关于
Machinist 是一个用于 Ruby 的测试夹具(fixture)管理库。
安装
# Gemfile
gem 'machinist', '>= 2.0.0.beta2', group: 'test'
# ~$ bundle
# ~$ rails generate machinist:install
构建对象
User.make
# `make` builds it, and `make!` builds+saves it
User.make!
User.make! name: "David"
User.make!(:admin)
定义蓝图
User.blueprint do
name { "User #{sn}" }
email { "user-#{sn}@example.com" }
end
User.blueprint(:admin) do
name { "Admin User #{sn}" }
admin { true }
end
关联
Post.blueprint do
author { User.make }
comments(3) # Makes 3 comments (has_many / habtm)
author # autodetect (Assumes there's User.blueprint)
end