学习札记——Rspec+factory_girl进行复杂模型测试
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本文主要介绍怎么使用Rspec+factory_girl进行复杂模型测试,首先介绍下本人使用的模型机构class Nodebelongs_to :parent,:class_name =>Nodeha
千家信息网最后更新 2025年02月04日学习札记——Rspec+factory_girl进行复杂模型测试
belongs_to :parent,:class_name =>Node
has_many :children,:class_name =>Node
:foreign_key =>:parent_id
end
end可以看出,我使用的是一个自关联表,通过自己:parent_id这个键将本表自己关联起来,现在介绍怎么用factory_girl模拟这样的模拟结构首先介绍从叶子结点像root结点一个一对一的模型结构代码如下FactoryGirl.define do
factory :node do
title "XXXXX"
factory :node_leaf ,:class => :node doassociation :parent,:factory =>:node
end
end
通过association这个值,我们将node与node_leaf做成一对一关联然后我们再构建root结点向leaf结点一个一对多的情况FactoryGirl.define do
factory :node do
title "XXXXX"
factory :node_root,:class => :node do
after_create do |node|
node.children < node)
node.children < node)
node.children < node)
end
end
end
end然后我们再下Rspec代码中创建测试模型Factory.build(:node_root) #这种方式不会被保存在数据库中
Factory.create(:node_leaf)#这种方式其实就多了一个SAVE动作如果想查找可以下一结点用关键字查询比如Factory.create(:node_root).children.find_by_title("1")
也可以使用:each这个选项遍历整个模型比如Factory.create(:node_root).children.each do |node|node.title
end
参考资料
https://github.com/thoughtbot/factory_girl/issues/202关于一对多的关系
http://www.cnblogs.com/ToDoToTry/archive/2011/09/10/2173382.htmlfactory_girl 测试
http://ruby-china.org/topics/3777很不错关于factory_girl的介绍,很全面
本文主要介绍怎么使用Rspec+factory_girl进行复杂模型测试,
首先介绍下本人使用的模型机构class Nodebelongs_to :parent,:class_name =>Node
has_many :children,:class_name =>Node
:foreign_key =>:parent_id
end
end可以看出,我使用的是一个自关联表,通过自己:parent_id这个键将本表自己关联起来,现在介绍怎么用factory_girl模拟这样的模拟结构首先介绍从叶子结点像root结点一个一对一的模型结构代码如下FactoryGirl.define do
factory :node do
title "XXXXX"
factory :node_leaf ,:class => :node doassociation :parent,:factory =>:node
end
end
通过association这个值,我们将node与node_leaf做成一对一关联然后我们再构建root结点向leaf结点一个一对多的情况FactoryGirl.define do
factory :node do
title "XXXXX"
factory :node_root,:class => :node do
after_create do |node|
node.children <
node.children <
node.children <
end
end
end
end然后我们再下Rspec代码中创建测试模型Factory.build(:node_root) #这种方式不会被保存在数据库中
Factory.create(:node_leaf)#这种方式其实就多了一个SAVE动作如果想查找可以下一结点用关键字查询比如Factory.create(:node_root).children.find_by_title("1")
也可以使用:each这个选项遍历整个模型比如Factory.create(:node_root).children.each do |node|node.title
end
参考资料
https://github.com/thoughtbot/factory_girl/issues/202关于一对多的关系
http://www.cnblogs.com/ToDoToTry/archive/2011/09/10/2173382.htmlfactory_girl 测试
http://ruby-china.org/topics/3777很不错关于factory_girl的介绍,很全面
模型
结点
测试
关联
一对一
代码
方式
结构
复杂
不错
关键
关键字
动作
参考资料
叶子
情况
数据
数据库
机构
资料
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库多表连接有哪些
三道防线确保网络安全
华为5g打电话无法连接服务器
软件开发 电子科技大学
网络安全法精简版
深圳专业软件开发服务
网络安全都有什么形式
存储过程连接远程数据库的表
时序性数据库怎么设置
网络安全项目建设运维管理
cs为什么会联机服务器失败
数据库设计技术学习
朔州市云创网络技术
数据库自主改善报告
区块链技术中会用到数据库吗
江西北斗授时服务器
网众服务器设置密码
软件开发实践的书籍
mineprokit服务器
创建数据库字符集
管理服务器维护外包
河南办公系统软件开发公司
数据库备份在哪里
长征视频软件开发
客房数据库设计
数据库怎么先降序后升序
红星美凯龙软件开发
服务器维护兼职
邯郸学院移动网络技术
淘宝的数据库在哪