学习札记——Rspec+factory_girl进行复杂模型测试
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,本文主要介绍怎么使用Rspec+factory_girl进行复杂模型测试,首先介绍下本人使用的模型机构class Nodebelongs_to :parent,:class_name =>Nodeha
千家信息网最后更新 2025年02月16日学习札记——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安全错误
数据库的锁怎样保障安全
全球网络安全大赛软件
晋江 网络安全 公安厅
国家网络安全学院曹越
雅姿宝网络技术有限公司
教师学习网络安全法读书笔记
南阳网络安全工程师报名
我的世界手机pvp服务器
网络安全策略pdrr包括
网络技术url全称
先进网络技术行业
河北博程软件开发有限公司怎么样
证券公司招聘软件开发吗
南昌新手招聘软件开发程序员
软件开发大学怎么样
异地数据库备份软件
软件开发的人力资源状况
车用电机控制器软件开发流程
常州智慧医院软件开发
微龙游网络安全宣传周
服务器登录说没有安全退出怎么办
南阳网络安全工程师报名
四川互联网软件开发公司
衡水图腾服务器机柜规格
你该怎么用维护网络安全
怎么设置服务器
网络技术专业擅长
校园网内如何设置共享服务器
江西常用软件开发批发价格
女生适合做数据库吗
品质计算机网络技术怎么样