电商公司的网站设计书,discuz可以做门户网站么,华为云域名注册,万网域名注册查询文章目录 第五十四章 学习常用技能 - 生成测试数据生成测试数据Extending %Populate使用 %Populate 和 %PopulateUtils 方法 第五十四章 学习常用技能 - 生成测试数据
生成测试数据
IRIS 包含一个用于为持久类创建伪随机测试数据的实用程序。此类数据的创建称为数据填充… 文章目录 第五十四章 学习常用技能 - 生成测试数据生成测试数据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 包中。