在上一篇文章中,我们探讨了 IRIS 中单元测试的基础知识以及将其应用于 REST API 的方法。我们甚至还了解了如何在最终确定网络配置和身份验证之前测试逻辑,从而使我们能够专注于测试 API 内容。
今天,我们将在此基础上使用另一个工具来提升我们的单元测试策略:%Populate。
乍一看,%Populate类似乎非常简单。你可以创建一个同时扩展了 %Persistent和 %Populate的类,并继承一个用于生成随机记录的 方法。该工具可识别某些字段名称(如 "Name"、"SSN" 和 "Phone"),并应用专门的逻辑来确保数据的真实性。如果某个字段名称没有被识别为特殊字段名称,就会按照其指定的数据类型填充随机值。
假设我们开发了这样一个具有以下属性的类,用来跟踪商店中一些基本的客户信息(我们的类还扩展了 ,这在后面会派上用场):
Class User.CustomerList Extends (%Persistent, %Populate, %JSON.Adaptor)
{
Property Name As %String;
Property DOB As %Date;
Property Age As %Numeric(SCALE = 0);
Property IsMember As %Boolean;
Property MemberID As %String(POPSPEC = ".GenID()");
}

.png)


如你所见,在凌晨 2 点左右,一些内存被释放,然后突然下降到接近零。该系统正在 InterSystems IRIS 数据库上运行 IntelliCare EHR 应用程序。vmstat "信息来自一个收集 "vmstat"、"iostat "和许多其他系统指标的"^SystemPerformance "HTML文件。这个系统还发生了什么?现在是半夜,医院里应该没什么事。让我们看看数据库卷的 .png)


