本文主要是介绍第五十四章 学习常用技能 - 生成测试数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 第五十四章 学习常用技能 - 生成测试数据
- 生成测试数据
- `Extending %Populate`
- 使用 `%Populate` 和 `%PopulateUtils` 方法
第五十四章 学习常用技能 - 生成测试数据
生成测试数据
IRIS
包含一个用于为持久类创建伪随机测试数据的实用程序。此类数据的创建称为数据填充,执行此操作的实用程序称为填充实用程序。当测试应用程序的各个部分在处理大量数据时如何运行时,此实用程序特别有用。
populate
实用程序由两个类组成:%Library.Populate
和 %Library.PopulateUtils
。这些类提供了生成不同典型形式的数据的方法。例如,一种方法生成随机名称:
Write ##class(%Library.PopulateUtils).Name()
可以通过两种不同的方式使用填充实用程序。
Extending %Populate
在此方法中,执行以下操作:
- 将
%Populate
添加到类的超类列表中。 - (可选)为类中每个属性的
POPSPEC
参数指定一个值。
对于参数的值,指定一个返回适合用作属性值的值的方法。
Property SSN As %String(POPSPEC = "##class(MyApp.Utils).MakeSSN()");
- 编写一个实用方法或例程,以适当的顺序生成数据:独立类在依赖类之前。
在此代码中,要填充类,请执行该类的 Populate()
方法,该方法继承自超类中的 %Populate
。
此方法生成类的实例并通过调用 %Save()
方法保存它们,这可确保在保存之前验证每个属性。
对于每个属性,此方法生成一个值,如下所示:
a. 如果为该属性指定了 POPSPEC
参数,系统将调用该方法并使用它返回的值。
b. 否则,如果属性名称是诸如 City
, State
, Name
或其他预定义值之类的名称,则系统会为该值调用合适的方法。这些值是硬编码的。
c. 否则,系统会生成一个随机字符串。
- 从终端或可能从任何适用的启动代码调用实用程序方法。
这是 SAMPLES 数据库中 Sample.Person
使用的一般方法。
使用 %Populate
和 %PopulateUtils
方法
%Populate
和%PopulateUtils
类提供了生成特定形式的值的方法。可以通过以下替代数据填充方法直接调用这些方法:
- 编写一个实用程序方法,以适当的顺序生成数据:独立类在依赖类之前。
在此代码中,对于每个类,迭代所需的次数。在每次迭代中:
a. 创建一个新对象。
b. 使用合适的随机(或接近随机)值设置每个属性。
为此,请在使用 %Populate
或在使用 %PopulateUtils
方法,或者使用自己的方法。
c. 保存对象。
- 从终端调用实用程序方法。
这是用于 SAMPLES
数据库中两个 DeepSee
样本的方法,这些样本包含在 DeepSee
和 HoleFoods
包中。
这篇关于第五十四章 学习常用技能 - 生成测试数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!