问题 Michael Lei · 五月 24, 2021

您好,我想问一下为什么我无法通过Iris中的内置转换模板将从HAPI-FHIR服务器下载的患者资源转换为SDA格式。它总是表明缺少某个默认值,或者这就是我们需要更改格式吗?我想问一下我们如何快速创建自己的映射,以及如何通过json将所需的数据转换为sda并将其存储在iris中,然后我们可以通过齐柏林飞艇进行调用,非常感谢您解决我的问题问题

1
0 222
文章 姚 鑫 · 五月 30, 2021 8m read

第十一章 发送和接收IBM WebSphere MQ消息

InterSystems IRIS为IBM WebSphere MQ提供了一个接口,可以使用该接口在InterSystems IRIS和IBM WebSphere MQ的消息队列之间交换消息。要使用此接口,必须能够访问IBM WebSphere MQ服务器,并且IBM WebSphere MQ客户端必须与InterSystems IRIS在同一台计算机上运行。

该接口由%Net.MQSend%Net.MQRecv类组成,这两个类都是%Net.abstractMQ的子类。这些类使用由InterSystems IRIS在所有合适的平台上自动安装的动态链接库。(这是Windows上的MQInterface.dll;其他平台的文件扩展名不同。)。反过来,InterSystems IRIS动态链接库需要IBM WebSphere MQ动态链接库。

该界面仅支持发送和接收文本数据,不支持二进制数据。

使用IBM WebSphere MQ的RIS接口

通常,要使用IBM WebSphere MQ的InterSystems IRIS接口,请执行以下操作:

  1. 确保有权访问IBM WebSphereMQv7.x或更高版本。具体而言:
  • IBM WebSphere MQ客户端必须与InterSystems IRIS安装在同一台计算机上。
0
0 493
文章 姚 鑫 · 五月 29, 2021 4m read

第十章 使用FTP

IRIS提供了一个类%Net.FtpSession,可以使用它从InterSystems IRIS内建立与FTP服务器的会话。

建立FTP会话

要建立FTP会话,请执行以下操作:

  1. 创建%Net.FtpSession的实例。
  2. 可以选择设置此实例的属性,以控制会话的常规行为:
  • Timeout 超时指定等待FTP服务器回复的时间(以秒为单位)。
  • SSLConfiguration指定用于连接的激活的SSL/TLS配置(如果有)。如果FTP服务器使用HTTPS,请使用此选项。
  • TranslateTable指定在读取文件内容或写入文件内容时要使用的转换表。
  • UsePASV启用PASV模式。
  • FTP服务器使用https时,SSLCheckServerIdentity适用。默认情况下,当%Net.FtpSession的实例连接到SSL/TLS服务器时,它会检查证书服务器名称是否与用于连接到服务器的DNS名称匹配。如果这些名称不匹配,则不允许连接。

若要禁用此检查,请将SSLCheckServerIdentity属性设置为0。

  1. 调用Connect()方法以连接到特定的FTP服务器。
  2. 调用ascii()binary()方法将传输模式分别设置为ASCII模式或二进制模式。要查看当前传输模式,请检查实例的Type属性的值。

注意:%Net.

0
0 299
文章 姚 鑫 · 五月 28, 2021 5m read

第九章 创建、编写和阅读MIME邮件

Iris提供了一个可以用于创建MultiPart Mime消息(%Net.MimePart)的类。创建要添加到SOAP消息的附件时,请使用此类;请参阅创建Web服务和Web客户端。因为MIME是一个常见的标准,所以有许多其他可能的应用程序,例如电子邮件处理和HTTP Multipart Post。

MIME消息概述

MIME格式的文档被称为MIME部分。每个MIME部件都有标题,包含邮件正文(文本或二进制)或包含额外的MIME部件。具有MIME版本标题的MIME部分可以用作顶级文档,称为MIME消息。下图显示了示例:

image

在该示例中,EF具有未显示的附加子部分。

要表示MIME部件,请使用 %Net.MIMEPart类,该类提供用于设置零件的标题和内容的属性。

创建MIME部分

要创建一个MIME部件,执行以下步骤:

  1. 创建%Net.MIMEPart的实例。
  2. 做以下其中一项:
  • 添加文本或二进制正文。为此,请创建流(文本或二进制)的实例,并将MIME部分的Body属性设置为等于该流。使用标准流接口将数据写入此流。不要为Parts属性指定值。
  • 添加MIME部件列表。为此,请按此处所述创建MIME部件,并将Parts属性设置为等于这些部件的列表。不要为Body属性指定值。
  1. 可以选择按照“设置和获取MIME部件标头”中的说明设置标头。
0
0 207
文章 姚 鑫 · 五月 27, 2021 5m read

第八章 处理收到的电子邮件

处理收到的电子邮件

本节介绍如何处理通过%Net.POP3检索到的电子邮件(%Net.MailMessage)。

Message Basics

检索电子邮件(%Net.MailMessage)后,通常首先确定它是哪种类型的邮件以及如何阅读它;也就是说,它是否是多部分邮件以及各部分是否是二进制的。在此步骤中,您可以使用ContentType属性。或者,可以使用IsBinaryIsHTMLIsMultiPart属性,它们间接提供与contentType相同的信息。

如果消息是多部分消息,则每个部分都是%Net.MailMessagePart的一个实例。

Message Headers

消息本身和消息的每个部分都有一组标头。

%Net.MailMessage%Net.MailMessagePart类提供的属性使可以轻松访问最常用的标头。例如,%Net.MailMessage提供收件人、发件人、主题和日期等属性。Headers数组属性允许访问任何自定义标题.

此外,如果已通过%Net.POP3检索到消息,则可以使用GetAttribute()方法。在给定标头名称和属性的情况下,此方法返回该属性的值。

Message Contents

了解常规消息结构后,请使用以下技术检索内容:

  • 对于多部分消息,请使用Parts属性,该属性是部分的数组。Parts.
0
0 201
问题 Michael Lei · 五月 24, 2021

单位cache2016.2用rose做的双机,数据库放在阵列上,通过rose切换挂载同一个阵列磁盘,本质上是一个实例,另外做了个mirror机。

这样的结构在容灾备份上有什么问题没,希望给点建议。谢谢

1
0 245
文章 姚 鑫 · 五月 26, 2021 6m read

第七章 从POP3服务器提取电子邮件

将附件另存为文件

Content-Disposition标头可以指定附件,可以带文件名,也可以不带文件名。例如:

Content-Disposition: attachment; filename=genome.jpeg;

如果Content-Disposition标头确实指定了附件,则%Net.POP3实例可以将邮件中的所有附件保存到文件。要实现这一点,请执行以下操作:

  1. 指定%Net.POP3实例的以下属性:
  • StoreAttachToFile指定为%1
  • StoreInlineToFile指定为%1
  • AttachDir指定有效目录。根据操作系统的不同,确保使用斜杠(/)或反斜杠(\)结束目录名称。还要确保该目录已经存在,并且用户对其具有写访问权限。
  1. 调用%Net.POP3实例的Fetch()FetchMessage()

每个文件名的确定方式如下:

  1. 如果Content-Disposition标头指定了文件名,则使用该文件名。
  2. 否则,如果Content-Type标头指定了文件名,则使用该文件名。
  3. 否则,系统将创建格式为ATTxxxxx.dat的名称。

请注意以下几点:

  • 如果该文件已存在,则不会下载附件。
  • AttachDir没有默认值。
  • 附件的大小不受IRIS的限制,但可能受文件系统的限制。
  • 这里不使用DirFileName属性。
0
0 191
问题 Michael Lei · 四月 21, 2021

嗨,社区,

我正在尝试访问对象的另一个进程的内容,例如%request和%session。我正在使用类/方法“%SYS.ProcessQuery:VariableByPid”。有谁知道如何从数据库服务器上运行的一个进程中获取诸如%request.Data(“ ID”,1)之类的属性的值?

我想做的例子:

        set rs=##class(%ResultSet).%New("%SYS.ProcessQuery:VariableByPid")
        set tsc=rs.Execute(ProcessID,"%request")
        while rs.%Next() { 
            w "Name:"_$g(rs.Data("Name")),!
             w "Value:"_$g(rs.Data("Value")),!
        }
        do rs.Close()

Output:

Name:%request
Value:1@%CSP.Request

我只是可以看到对象引用1@%CSP.Request,我不确定我们是否有办法检查对象属性。

1
0 233
文章 姚 鑫 · 五月 25, 2021 7m read

第六章 从POP3服务器提取电子邮件

从POP3服务器提取电子邮件

与POP3服务器通信

如果拥有所需的权限,并且邮件服务器正在运行,则可以使用POP3协议从该服务器下载和处理电子邮件。通常,要与POP3服务器通信,请登录,执行一系列影响邮箱的操作,然后提交或回滚任何更改。要在系统间IRIS中执行此操作,请执行以下操作:

  1. 创建%Net.POP3的实例。此对象描述将使用的POP3服务器。
  2. 可以选择指定%Net.POP3实例的以下属性:
  • port -指定要使用的端口;默认值为110
  • timeout 超时-指定读取超时(以秒为单位);默认值为30秒。
  • StoreAttachToFile-指定在读取邮件时(当邮件包含Content-Disposition;附件标题时)是否将每个附件保存到文件。默认值为False。请注意,除非还设置了AttachDir,否则此设置不起任何作用。
  • StoreInlineToFile-指定在读取邮件时(当邮件包含Content-Disposition;内联标题时)是否将每个内联附件保存到文件中。默认值为False。请注意,除非还设置了AttachDir,否则此设置不起任何作用。
  • AttachDir-指定将附件保存到的目录。没有违约。根据操作系统的不同,确保使用斜杠(/)或反斜杠(\)结束目录名称。还要确保该目录已经存在,并且用户对其具有写访问权限。
0
0 176
文章 Michael Lei · 五月 24, 2021 1m read

作为一个软件架构师,如果要设计一个企业级的架构来满足当前的业务需求时,你需要达到5级的水平,这是一个巨大的挑战。有了InterSystems IRIS。
这是有可能的。通过1个产品,你可以得到SQL + NoSQL + ESB + BI + Open Analytics + Real Time Virtual cubes + NLP + AutoML + ML(使用Python)和高级云支持 + Sharding支持。

以Oracle为例,你需要Oracle数据库+ Oracle NoSQL+ Oracle BI+ Oracle SOA套件+一些附加组件,如R、Partitioning和RAC以及一些Oracle云产品的NLP和AI功能。对于开源架构、IBM或者其他友商来说,也是类似的,你需要的组件只可能更多。

医疗机构在数字化转型在技术上最大的挑战之一,就是技术栈过于丰富、快速变化以及对人的技术要求很高(这也是为什么全栈工程师最值钱的原因);一个统一、高效、稳定、现代化、专为医疗定制的一体化数据平台能帮助客户很好地解决这个问题。IRIS for Health 是您的不二选择。

0
0 239
文章 姚 鑫 · 五月 24, 2021 7m read

第五章 向邮件添加附件

向邮件添加附件

可以将附件添加到电子邮件或消息部分(具体地说,是添加到%Net.MailMessagePart%Net.MailMessage的实例)。要执行此操作,请使用以下方法:

这些方法中的每一种都会将附件添加到原始邮件(或邮件部分)的Parts数组中,并自动将IsMultiPart属性设置为1。

AttachFile()

method AttachFile(Dir As %String, 
                  File As %String, 
                  isBinary As %Boolean = 1, 
                  charset As %String = "", 
                  ByRef count As %Integer) as %Status

将给定文件附加到电子邮件。默认情况下,文件以二进制附件的形式发送,但您可以将其指定为文本。如果文件是文本,还可以指定该文件使用的字符集。

具体地说,此方法创建%Net.MailMessagePart的实例,并根据需要将文件内容放在BinaryDataTextData属性中,并根据需要设置CharSet属性和TextData.TranslateTable属性。

0
0 133
问题 haibao yun · 五月 20, 2021

cache2016开始提供了支持JSON的系统类,%DynamicAbstractObject %DynamicArray %DynamicObject, 不知是否可将这些系统类导入到之前的版本(如cache2012), 从而实现支持JSON操作,或者是有何其他简单的解决办法

问题背景

目前不论开发和项目的数据库版本大部分是2016+,且广泛使用JSON,但当偶尔向低版本用户部署程序时,会遇到对JSON支持的问题

1
0 164
文章 Michael Lei · 五月 24, 2021 3m read

本帖的目的是回答一个问题。 在本系列的第二篇帖子中,我包括了从 pButtons 提取的性能数据的图表。 有人在线下问我,有没有比剪切/粘贴更快的方法从 pButtons .html文件中提取 mgstat 等指标,以便在 Excel 中绘图。

参见:- 第 2 部分 - 研究收集的指标

pButtons 将其收集的数据编译成一个 html 文件,以便发送给 WRC 和查看整理的数据。 不过,尤其是对于长时间(如 24 小时)进行收集的 pButtons 来说,一些基于时间的数据(如 mgstat、vmstat 等)以图形方式查看更容易查找趋势或模式。

0
0 234
文章 Michael Lei · 五月 24, 2021 2m read

我本人和其他技术架构师经常需要向客户和供应商说明 Caché IO 要求以及 Caché 应用程序使用存储系统的方式。 在向客户和供应商说明典型的 Caché IO 配置文件和事务性数据库应用程序的要求时,下面的表格很有用。  原始表格由 Mark Bolinsky 创建。

在以后的帖子中,我将讨论更多关于存储 IO 的内容,所以现在贴上这些表格也作为将来文章的参考。 

0
0 260
文章 Michael Lei · 五月 24, 2021 7m read

您的应用程序已部署,一切运行正常。 很好,击个掌! 然后电话突然响个不停 – 用户投诉应用程序有时很“慢”。 这是什么意思? 有时? 您有哪些工具,查找和解决这个缓慢问题应查看哪些统计数据? 您的系统基础架构是否能承担用户负载的任务? 在投入生产之前,应该询问哪些基础架构设计问题? 如何自信地为新硬件规划容量,而不会过度规定? 如何停止电话铃声? 如何一开始就不让它响?

0
1 274
InterSystems 官方 Jeff Liu · 五月 23, 2021

InterSystems API Manager (IAM)的2.3版本的正式版本已经发布。

 

IAM的容器,包括从IAM早期版本升级的所有相关工件,可以从。WRC软件分发站点 的组件区下载.

 

这个版本的构建号是IAM 2.3.3.2-1。

这个版本是基于Kong企业版2.3.3.2。

 

InterSystems API Manager 2.3使其更容易以安全的方式和高可用性的场景进行部署 它有许多新的功能,包括:

  • 引入了混合模式
  • 更广泛地支持Docker Secrets

混合模式允许你在数据面和控制面部署IAM节点。当数据平面处理API流量时,控制平面用于配置数据平面节点并观察来自数据平面的遥测数据。这赋予了部署更多的灵活性,减轻了部署HA场景的工作量。关于混合模式的更多信息可以在[这里](https://docs.konghq.com/enterprise/2.3.x/deployment/hybrid-mode/)找到。在接下来的日子里,InterSystems开发者社区也将更详细地介绍这一功能。

 

IAM 2.3的文档可以在 这里找到。该文档只涉及IAM特有的元素。产品中的文档链接将用户直接带到Kong Enterprise的文档。

 

从IAM 1.5.0.9升级需要通过两个中间版本进行增量升级,这在文档中会有更详细的描述。

0
0 175
文章 姚 鑫 · 五月 23, 2021 7m read

第四章 收发电子邮件

本主题描述如何使用InterSystems IRIS发送和接收MIME电子邮件消息。

注意:本主题中的示例是经过组织的,因此管理电子邮件的方法可以用于不同的电子邮件服务器,这在测试和演示期间非常有用。这不一定是最适合生产需要的代码组织。

支持电子邮件协议

电子邮件使用标准协议通过Internet发送消息。 InterSystems IRIS支持以下三种协议:

  • InterSystems IRIS提供MIME电子邮件的对象表示形式。它支持文本和非文本附件、单部分或多部分邮件正文,以及ASCII和非ASCII字符集的标题。
  • 可以通过SMTP服务器发送电子邮件。SMTP(简单邮件传输协议)是发送电子邮件的Internet标准。
  • 还可以通过POP3从电子邮件服务器检索电子邮件,POP3是从远程服务器检索电子邮件的最常用标准。

注意:InterSystems IRIS不提供邮件服务器。相反,它提供了连接到邮件服务器并与之交互的功能。

InterSystems IRIS如何表示MIME电子邮件

首先,了解InterSystems IRIS如何表示MIME电子邮件非常有用。

通常,多部分MIME邮件由以下部分组成:

  • 一组邮件标头,每个标头都包含邮件发送到的地址等信息。这还包括整个消息的Mime-Type标头和Content-Type标头。
0
0 152
文章 姚 鑫 · 五月 23, 2021 6m read

第三章 发送HTTP请求

发送HTTP请求

创建HTTP请求后,使用以下方法之一发送该请求:

Delete()

method Delete(location As %String = "", 
              test As %Integer = 0, 
              reset As %Boolean = 1) as %Status

发出HTTP DELETE请求。

Get()

method Get(location As %String = "", 
           test As %Integer = 0, 
           reset As %Boolean = 1) as %Status

发出HTTP GET请求。此方法使Web服务器返回请求的页面。

Head()

method Head(location As %String, 
            test As %Integer = 0, 
            reset As %Boolean = 1) as %Status

发出HTTP Head请求。此方法使Web服务器仅返回响应头,而不返回正文。

0
0 189
文章 姚 鑫 · 五月 21, 2021 6m read

第二章 设置和获取HTTP标头

设置和获取HTTP标头

可以设置和获取HTTP标头的值。

%Net.HttpRequest的以下每个属性都包含具有相应名称的HTTP标头的值。如果不设置这些属性,则会自动计算它们:

  • Authorization
  • ContentEncoding
  • ContentLength(此属性为只读。)
  • ContentType (指定Content-Type标头的Internet媒体类型(MIME类型)。)
  • ContentCharset (指定Content-Type标题的字符集部分。如果设置此属性,则必须首先设置ContentType属性。)
  • Date
  • From
  • IfModifiedSince
  • Pragma
  • ProxyAuthorization
  • Referer
  • UserAgent

%Net.HttpRequest类提供可用于设置和获取主HTTP标头的常规方法。这些方法忽略Content-Type和其他实体标头。

ReturnHeaders()

返回包含此请求中的主HTTP标头的字符串。

OutputHeaders()

将主HTTP标头写入当前设备。

GetHeader()

返回此请求中设置的任何主HTTP标头的当前值。此方法接受一个参数,即头的名称(不区分大小写);这是一个字符串,如Host或Date

SetHeader()

设置标题的值。

0
0 333
公告 Jeff Liu · 五月 21, 2021

随着InterSystems IRIS 2020.1和InterSystems IRIS for Health 2020.1中PEX的发布,客户有了比Java Business Host更好的方式来构建Java的产品。PEX为构建互操作性组件提供了一套完整的API,并有Java和.NET两种版本。

从InterSystems IRIS和InterSystems IRIS for Health的2020.4版本开始,Java Business Host已经被删除。 我们鼓励使用Java商业主机的客户迁移到PEX

PEX的优势

  • 允许开发人员在Java或.NET中创建任何生产组件

  • 组件之间可以传递更复杂的消息结构

  • 简化设置

  • S简化了开发工作流程,无需使用ObjectScript。

关于迁移到PEX的更多信息,请参见从Java Business Host迁移到PEX

0
0 119
公告 Jeff Liu · 五月 21, 2021

由于这是一个预览版,我们渴望在下个月的通用版发布之前了解您对这个新版本的经验。请通过开发者社区分享您的反馈,以便我们能够共同打造一个更好的产品。

InterSystems IRIS数据平台2021.1是一个扩展维护(EM)版本。自2020.1(上一个EM版本)以来,在持续交付(CD)版本中增加了许多重要的新功能和改进。请参考2020.22020.32020.4的发布说明,了解这些内容的概况。

这个版本的增强功能为开发人员提供了更大的自由度,可以用他们选择的语言构建快速和强大的应用程序,并使用户能够通过新的和更快的分析功能更有效地消费大量的信息。

通过InterSystems IRIS 2021.1,客户可以部署**InterSystems IRIS Adaptive Analytics**,这是一个附加产品,它扩展了InterSystems IRIS,为分析终端用户提供了更大的易用性、灵活性、可扩展性和效率,而不管他们选择何种商业智能(BI)工具。它能够定义一个有利于分析的业务模型,并通过在后台自主构建和维护临时数据结构,透明地加速针对该模型运行的分析查询工作负载。

0
0 270
公告 Claire Zheng · 五月 12, 2021

亲爱的社区开发者们,大家好!

InterSystems开发者竞赛:FHIR加速器 已于5月10日开启! 我们邀请所有FHIR开发者们在AWS上使用InterSystems IRIS FHIR加速器服务 (FHIRaaS)上开发或测试您的应用。

现在,我们为您提供绝佳机会,您可以在AWS上免费访问FHIRaaS! 那么,掌握FHIRaaS的第一步,是使用URL的特殊code在ISC Dev FHIR Portal 门户注册,链接如下:👉🏼 https://portal.trial.isccloud.io/account/signup

点击上面的链接,遵循相应步骤,即可掌控InterSystems FHIRaaS!

关于此次竞赛的任何疑问,请随时跟帖提问,或在 discord-contests channel 中提问。

再次欢迎大家加入此次竞赛,成为InterSystems FHIRaaS 大师! ✌🏼

Happy coding! :)

1
0 212
文章 Nicky Zhu · 五月 20, 2021 7m read

在上一篇文章《互操作消息统一管理系列:Message Bank》中,我们了解到在Message Bank中,消息均以半结构化(XML)或非结构化(Stream)的形式保存,因此无法与客户端的结构化消息一样,直接支持基于索引的检索。为此,需要在Message Bank中定义Search Table以支持查询。关于Search Table的定义和作用,请查阅https://docs.intersystems.com/healthconnectlatest/csp/docbook/DocBook.UI.Page.cls?KEY=EEDI_search_tables。

一. 在Message Bank中查询消息的特殊之处

大家如果使用过消息查看器,则能够了解IRIS自动持久化消息并提供界面让大家能够根据消息头中(如发生事件、来源、目标等)或消息体中(如患者姓名、诊断名称等消息的具体属性)来查询消息。 而在Message Bank上进行查询时,如果直接使用消息查看器,能够查询的是Message Bank的Production中传输的消息,而若不是在源系统中出现的消息,这一点一定不要混淆。

0
0 329
文章 Nicky Zhu · 五月 20, 2021 7m read

一. 企业信息库简介

企业信息库(MessageBank)是一个可选的远程归档设施,可以从多个来自不同实例的互操作性Production中收集信息、事件日志项目和搜索表项。如下图所示: image

这套环境由两种角色的实例构成: 企业信息库服务器,它本身也是一个Production,完全由Message Bank服务组成,接收来自任何数量的客户Production提交的消息、日志等。

客户端Operation(Message Bank Operation),将其添加到一个正在运行的Production中,并用企业信息库服务器的地址进行配置。如连接通畅,消息和日志即可自动转发到Message Bank并在其中存储。

为了使你能方便地看到信息库中的信息,InterSystems IRIS®提供了以下附加选项。

对于企业信息库实例,管理门户自动包括企业监控器页面,在那里你可以监控客户端Production的状态,浏览消息库,并对被监控客户的消息进行检索。

对于每个客户端实例,你在消息库实例中配置一个到企业监控器的链接。

如下所示: image

二. 常见应用场景

消息归档

在使用IRIS互操作性时,对于生产环境,为保障其有充足的磁盘空间和即时查询的效率,通常会采用消息和日志过期策略。在生产环境中只保留近期(如一个月)的信息以备回溯,过期数据将定期被清除。

0
0 425
文章 姚 鑫 · 五月 19, 2021 2m read

IRIS 单元测试

第一章 单元测试概述☆☆☆☆

第二章 使用%UnitTest进行单元测试☆☆☆☆

第三章 执行测试☆☆☆

第四章 使用Setup和tear Down方法执行测试☆☆☆

前言

IRIS提供了用于对应用程序进行单元测试的类的%UnitTest包。该包为快速开发单元测试类、执行测试和创建报告提供了便利。可以直接使用该包,也可以扩展其类来自定义单元测试工具。%UnitTest在结构上与用于单元测试的xUnit框架非常相似。熟悉这些框架的开发人员使用%UnitTest会特别容易。

本教程提供对%UnitTest包的快速实践介绍。本教程的第一部分和第二部分是相互独立的,可以按任何顺序完成。

  • 完成本教程的第一部分,了解单元测试和集成测试之间的区别、xUnit框架和%UnitTest之间的结构相似性,以及单元测试在敏捷应用程序开发方法中的作用。
  • 完成本教程的第二部分,学习如何使用%UnitTest中的类为InterSystems IRIS应用程序创建和执行单元测试。

注意:本教程假定基本熟悉ObjectScript和InterSystems IRIS的面向对象开发。

预告

下一期系列将用一个月的时间连载,《Caché 网络实用工具》,敬请期待。

交流群

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f9VqwzNP-1608850948003)(3E1D939266954ED48BDAEA9B8086B11E)]

0
0 227
文章 姚 鑫 · 五月 18, 2021 6m read

第四章 使用Setup和tear Down方法执行测试

示例:使用Setup和tear Down方法执行测试

以通常的方式执行新的单元测试。

  1. 在一直在使用的命名空间中打开终端。
  2. ^UnitTestRoot的值设置为包含测试类的目录的父级:
USER> Set ^UnitTestRoot="c:\unittests"
  1. 使用%UnitTest.Manager执行测试:
USER> Do ##class(%UnitTest.Manager).RunTest("mytests")
  1. IRIS加载测试类、编译类、执行测试并向终端发送报告。

===============================================================================
Directory: C:\unittests\mytests\cls\MyPackage\
===============================================================================
mytests\cls\MyPackage begins .
Load of directory started on 01/09/2018 14:36:57 '*.xml;*.XML;*.cls;*.mac;*.int;*.
0
0 120