第五十四章 学习常用技能 - 生成测试数据

2023-10-12 09:12

本文主要是介绍第五十四章 学习常用技能 - 生成测试数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第五十四章 学习常用技能 - 生成测试数据
  • 生成测试数据
    • `Extending %Populate`
    • 使用 `%Populate` 和 `%PopulateUtils` 方法

第五十四章 学习常用技能 - 生成测试数据

生成测试数据

IRIS 包含一个用于为持久类创建伪随机测试数据的实用程序。此类数据的创建称为数据填充,执行此操作的实用程序称为填充实用程序。当测试应用程序的各个部分在处理大量数据时如何运行时,此实用程序特别有用。

populate 实用程序由两个类组成:%Library.Populate%Library.PopulateUtils。这些类提供了生成不同典型形式的数据的方法。例如,一种方法生成随机名称:

 Write ##class(%Library.PopulateUtils).Name()

可以通过两种不同的方式使用填充实用程序。

Extending %Populate

在此方法中,执行以下操作:

  1. %Populate添加到类的超类列表中。
  2. (可选)为类中每个属性的 POPSPEC 参数指定一个值。

对于参数的值,指定一个返回适合用作属性值的值的方法。

Property SSN As %String(POPSPEC = "##class(MyApp.Utils).MakeSSN()");
  1. 编写一个实用方法或例程,以适当的顺序生成数据:独立类在依赖类之前。

在此代码中,要填充类,请执行该类的 Populate() 方法,该方法继承自超类中的 %Populate

此方法生成类的实例并通过调用 %Save() 方法保存它们,这可确保在保存之前验证每个属性。

对于每个属性,此方法生成一个值,如下所示:

a. 如果为该属性指定了 POPSPEC 参数,系统将调用该方法并使用它返回的值。

b. 否则,如果属性名称是诸如 City, State, Name或其他预定义值之类的名称,则系统会为该值调用合适的方法。这些值是硬编码的。

c. 否则,系统会生成一个随机字符串。

  1. 从终端或可能从任何适用的启动代码调用实用程序方法。

这是 SAMPLES 数据库中 Sample.Person 使用的一般方法。

使用 %Populate%PopulateUtils 方法

%Populate%PopulateUtils 类提供了生成特定形式的值的方法。可以通过以下替代数据填充方法直接调用这些方法:

  1. 编写一个实用程序方法,以适当的顺序生成数据:独立类在依赖类之前。

在此代码中,对于每个类,迭代所需的次数。在每次迭代中:

a. 创建一个新对象。
b. 使用合适的随机(或接近随机)值设置每个属性。

为此,请在使用 %Populate或在使用 %PopulateUtils 方法,或者使用自己的方法。

c. 保存对象。

  1. 从终端调用实用程序方法。

这是用于 SAMPLES 数据库中两个 DeepSee 样本的方法,这些样本包含在 DeepSeeHoleFoods 包中。

这篇关于第五十四章 学习常用技能 - 生成测试数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/194827

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]