`

数据构造

 
阅读更多

测试数据的构造,现在接触的分fixtures和factory_girl

A、先简单介绍下fixtures:

      1、文件位于spec/fixtures/conversations.yml,均以yml结尾,在构造数据时特别要注意的

                是在属性和值间必须用“空格”

            例如:state: 0

      2、在spec测试中调用构造数据的方法

            用数据库表名+fixtures名

            例如:workitems("complain_workitem")

            如表间存在关联关系,则可以这样,用数据库表名+fixtures名+关联表名

            例如:workitems("complain_workitem").conversation

      3、加载数据命令: rake spec:db:fixtures:load

缺点:fixtures里构造的很多数据都是没有检测重复factory的功能、字段检验问题(字段过长不报错)


B、重点总结下factory_girl


当将构造数据从fixtures改为factory_girl时问题一大堆:1、factory重命名问题(堆栈溢出)、2、数据重复问题

 

 

      1、如何解决上述说的第一个问题

            主要出现的几率是不同实体factory的命名,在新建一个factory时要在factories里查找下

                是否有重复命名,一般情况下, 添加一个factory在factories里面会加载进去,除非在

                其他factory里已经显示的加载过

 

      2、数据重复出现的可能性:有继承关系、用Factory()新建了多次、在factories里显示加载

               多次(不同的factory)

         (1)先检查factory本身的继承有没有问题,没有问题进行第二步


         (2)检查与factory相关联的其他factory有没有新建

                 例如:在department里关联district

                             d.district { Factory :nanshan }前提是在factories里已经显示加载过

                                       nanshan,此时这样做会重复出 现。

                 解决办法:在factories里写方法get_distrct来找记录或者新增记录

                                     District.find_by_code(get_attribute(factory_name, :code)) ||

                                                Factory(factory_name),在 department里关联district时,用

                                                d.district { get_district :nanshan }即可。

 

      3、 加载数据命令:rake db:factory_girl:load

       

最后建议在跑spec测试时,将要调用的factory最好在factories里面编写方法,这样可以避免很多问题(取的数据不一致问题)。实例的conversation定义方法:get_conversation


分享到:
评论

相关推荐

    软件测试之构造测试数据

    测试数据构造的场景多样,包括但不限于验证特定数据下的bug、满足功能测试需求、构造海量数据进行性能测试。正确构造测试数据能够帮助发现软件潜在问题,提高测试覆盖率,这对于软件质量评估起到关键作用。在构造...

    批量数据构造工具datafactory

    "批量数据构造工具datafactory"是一款专为数据库测试和性能评估设计的应用程序。这款工具的主要功能是帮助用户快速、高效地生成模拟数据,以便在性能测试和仿真测试中使用。在进行系统压力测试、功能验证或者数据...

    完整管理者能力数据构造,基于数据包络分析(DEA),参考顶刊含详细代码构造!!

    管理者能力数据构造 (含构造过程完整代码) 可学习如何构造该数据 步骤非常详细, 没有任何跳步,适合实证小白学习 可直接匹配该数据,也可学习如何构造该数据 亮点: 代码非常详细,实证小白也可根据附件代码及...

    重磅公司治理水平数据构造至2022(基于主成分分析方法),含最终数据及构造代码!

    公司治理水平/公司治理指数数据构造 借鉴胡楠等(2021)、周茜等(2020)、 严若森等(2018)的做法,运用主成分分析法, 从监督、激励、决策多方面构造综合 性指标来度量公司治理水平。选用高管薪酬与高管持股比例 ...

    重磅公司治理水平数据构造(基于主成分分析方法),含详细代码及过程说明!!

    公司治理水平/公司治理指数数据构造 (含主成分分析构造过程完整代码) 可学习如何 构造该数据 步骤非常详细,没有任何跳步,适合实证小白学习 可直接匹配该数据,也可 学习如何构造该数据 借鉴胡楠等(2021)、...

    ChatGPT技术的训练数据构造和样本收集方法研究.docx

    ChatGPT 技术的训练数据构造和样本收集方法研究 ChatGPT 技术作为一种基于预训练的语言模型,能够生成具有语义和逻辑一致性的人类对话。然而,要实现如此强大的对话生成能力,ChatGPT 的训练数据构造和样本收集方法...

    由谱数据构造一类伪Jacobi矩阵

    由谱数据构造一类伪Jacobi矩阵,孟纯军,李晗,本文研究了一类伪Jacobi矩阵的逆特征值问题:给定谱数据以其$n-1$阶顺序主子阵的特征值,构造一类对称位置元素符号互异的伪Jacobi矩阵。

    完整上市公司多元化经营数据四大指标数据集构造(2000-2022),数据可直接匹配!

    多元化战略/多元化经营数据构造 (2000-2022) 借鉴杨兴全, 任小毅, 杨征(2020)、仓勇涛, 储一昀, 范振宇(2020)、杨兴全, 尹兴强, 孟 庆玺(2018)等顶刊的做法,构造多元化经营数据。该数据4大指标的构造可...

    测试数据构造秘技

    最近在企业里面看了一些测试案例的数据准备,发现了一个共性问题:测试数据中存在大量冗余,这些冗余会给后续的测试案例及数据维护带来大量的成本。 最近在企业里面看了一些测试案例的数据准备,发现...

    自动化测试的测试数据构造之DGL

    背景问题及解决方案问题一个系统中所有模块的输入数据结构一致,都是明文的行数据,行数据之间逻辑、列数据之间逻辑通过数据本身很难看出,导致构造的数据可复用成本高,对大数据的可复用成本几乎为0,而每个数据...

    数据仓库 本书主要是面向数据仓库的设计、开发和管理人员,以及构造和使用现代信息系统的人员,也适于信息处理方面的高校师生和从事传统数据库系统技术工作的人阅读。

    本书论述在设计和建造数据仓库中涉及的所有主要问题,论述分析型环境(决策支持系统环境)以及在这种环境中的数据构造。主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据...

    数据字典与处理逻辑(“数据”文档)共60张.pptx

    3. 数据构造的概念:数据构造是指数据之间的组合关系,阐明这个数据构造包括哪些成份。 4. 数据流的概念:数据流是指数据在系统中的流动过程,包括数据流的来源、去处、组成等属性。 5. 数据存储的概念:数据存储是...

    数据仓库 电子书

    本书论述在设计和建造数据仓库中涉及的所有主要问题,论述分析型环境(决策支持系统环境)以及在这种环境中的数据构造。主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据...

    百度迁徙规模指数构造方法反演.docx

    因此,本文旨在分析百度迁徙的数据构造方法及与真实人类迁徙行为的对应关系,以便更好地理解COVID-19疫情防控规律。 1. 人口迁徙规律分析 人口迁徙是COVID-19疫情传播的主要驱动力。了解人口迁徙规律对于预测和...

    数据仓库资料--设计和建造数据仓库

    本书论述在设计和建造数据仓库中涉及的所有主要问题,论述分析型环境(决策支持系统环境)以及在这种环境中的数据构造。主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据...

    数据字典设计文档模板.doc

    1. 数据构造设计规则:数据构造是指对数据库中数据的组织和结构的设计。设计数据构造需要考虑到数据的存储、检索和维护等方面。数据构造设计规则是指在设计数据构造时需要遵守的一些基本规则和原则。 2. ORACLE...

    数据仓库数据仓库数据仓库

    本书论述在设计和建造数据仓库中涉及的所有主要问题,论述分析型环境(决策支持系统环境)以及在这种环境中的数据构造。主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据...

Global site tag (gtag.js) - Google Analytics