Is it possible to run a test case by classname instead of loading it from a directory?
I need to skip any directory loading completely since the directory with the source code does not exist.
Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test.
Is it possible to run a test case by classname instead of loading it from a directory?
I need to skip any directory loading completely since the directory with the source code does not exist.
Hi Community,
In this article, I will introduce my application iris-HL7v2Gen .
IRIS-HL7v2Gen is a CSP application that facilitates the dynamic generation of HL7 test messages. This process is essential for testing, debugging, and integrating healthcare data systems. The application allows users to generate a wide variety of HL7 message types, validate their structure against HL7 specifications, explore the message hierarchy, and transmit messages over TCP/IP to production systems. These features are particularly useful in settings where compliance with HL7 standards is mandatory for interoperability between different healthcare organizations or systems.
Hello everyone,
I am André from MedVertical. We are exploring InterSystems-native ways to operationalize continuous FHIR conformance: repeatable regression runs, baseline/delta comparisons, and evidence-style reporting to detect drift after releases and IG changes.
In many FHIR implementations, validation is done “point-in-time” in pre-prod, but conformance degrades in production due to IG/profile updates, terminology changes, mapping evolution, upstream releases, and configuration drift.
In the previous article, we examined how we can use the %CSP.Request and %CSP.Response classes to test a REST API without having the API fully set up and accessible across a network with an authentication mechanism. In this article, we will build on that foundation to perform some simple unit testing of one of our REST API methods.
The unit testing framework requires a couple of setup steps before we can use it. First, we have to ensure that the unit testing portion of the management portal is enabled so we can review the results of our tests.
Hi, Community!
Building integrations with InterSystems products? Find out about the latest UX enhancements available in version 2025.3!
There seems to be a generous use of ClassMethods in ObjectScript code generally. I hope my own experiences aren't representative, but I bet they are. Forgive me for giving away the ending of this article, but in short: don't use them. Unless you can make a pretty convincing case that you have to, just never use them.1
What is a ClassMethod? In an ObjectScript class, you can define methods in two different ways: in a Method, you must instantiate an instance of the class to call the method, and in a ClassMethod, you can call the method without instantiating the class. Of course, in a ClassMethod, you don't have access to any properties of the object (because there's no object), but you can access globals (they are global, after all) and Parameters (which are class constants).
There are numerous excellent tools available for testing your REST APIs, especially when they are live. Postman, various web browser extensions, and even custom ObjectScript written with %Net.HttpRequest objects can get the job done. However, it is often difficult to test just the REST API without inadvertently involving the authentication scheme, the web application configuration, or even network connectivity. Those are a lot of hoops to jump through just to test the code within your dispatch class. The good news is that if we take our time to understand the inner workings of the %CSP.REST class, we will find an alternative option suited for testing only the contents of the dispatch class. We can set up the request and response objects to invoke the methods directly.
Hello!!!
Data migration often sounds like a simple "move data from A to B task" until you actually do it. In reality, it is a complex process that blends planning, validation, testing, and technical precision.
Over several projects where I handled data migration into a HIS which runs on IRIS (TrakCare), I realized that success comes from a mix of discipline and automation.
Here are a few points which I want to highlight.
1. Start with a Defined Data Format.
Before you even open your first file, make sure everyone, especially data providers, clearly understands the exact data format you expect. Defining templates early avoids unnecessary bank-and-forth and rework later.
While Excel or CSV formats are common, I personally feel using a tab-delimited text file (.txt) for data upload is best. It's lightweight, consistent, and avoids issues with commas inside text fields.
PatID DOB Gender AdmDate
10001 2000-01-02 M 2025-10-01
10002 1998-01-05 F 2025-10-05
10005 1980-08-23 M 2025-10-15Make sure that the date formats given in the file is correct and constant throughout the file because all these files are usually converted from an Excel file and an Basic excel user might make mistakes while giving you the date formats wrong. Wrong date formats can irritate you while converting into horolog.
Developing and testing REST APIs in InterSystems IRIS often requires a significant amount of boilerplate code. While ObjectScript provides powerful tools for building APIs, writing consistent and repeatable tests can be time‑consuming. This is where IrisOASTestGen comes in.
IrisOASTestGen is a utility designed to generate the structure of test classes and the supporting utility code directly from an OpenAPI 2.0 specification.
Yes, that's right, a Cache 2017.1 question. Let's all take a trip in the Wayback Machine.
The company I'm working for is in the process of starting to use the %UnitTest framework, and we are experiencing some errors in the code with some existing logic. Long story short, it looks like the best way to handle the issue would be to recognize we're executing the job as a part of a unit test. Is there any sort of variable or property that can be checked to confirm the process is indeed executing a unit test?
.png)
KWOK, Kubernetes WithOut Kubelet, is a lightweight tool that simulates nodes and pods—without running real workloads—so you can quickly test and scale IrisCluster behavior, scheduling, and zone assignment. For those of you wondering what value is in this without the IRIS workload, you will quickly realize it when you play with your Desk Toys awaiting nodes and pods to come up or get the bill for provisioning expensive disk behind the pvc's for no other reason than just to validate your topology.
Here we will use it to simulate an IrisCluster and target a topology across 4 zones, implementing high availability mirroring across zones, disaster recovery to an alternate zone, and horizontal ephemeral compute (ecp) to a zone of its own. All of this done locally, suitable for repeatable testing, and a valuable validation check mark on the road to production..png)
If you have already built unit tests using the %UnitTest framework, or are thinking about doing so, please take a look at InterSystems Testing Manager.
Without leaving VS Code you can now browse your unit tests, run or debug them, and view previous run results.
InterSystems Testing Manager works with both of the source code location paradigms supported by the ObjectScript extension. Your unit test classes can either be mastered in VS Code's local filesystem (the 'client-side editing' paradigm) or in a server namespace ('server-side editing').
InterSystems IRIS interoperability production development involves using or writing various types of components. They include services (which handle incoming data), processes (which deal with the data flow and logic), and operations (which manage outgoing data or requests). Messages flowing through those components constantly require being adapted to consuming applications. Therefore,Data transformations are by far the most common component in interoperability productions.
In the early stages of data transformation development, thetest tool from the Management Portal becomes quite handy.
Hi, Community!
Looking for ways to improve your application testing? See how to build requirements such as performance and scalability into your development workflow:
If you like what you see please support this in the Developer Tools 2025 contest. Voting closes at midnight EDT on Sunday 3rd.
Overview I'm excited to announce the release of testcontainers-iris-node, a Node.js library that makes it easy to spin up temporary InterSystems IRIS containers for integration and E2E testing. This project is a natural addition to the existing family of Testcontainers adapters for IRIS, including testcontainers-iris-python and testcontainers-iris-java.
Why testcontainers-iris-node? As a Node.js developer working with InterSystems IRIS, I often faced challenges when setting up test environments that mimic production. testcontainers-iris-node solves this by leveraging the testcontainers-node framework to create isolated IRIS environments on-demand.
This is particularly valuable for:
Features
Well... It's time for testing. We know that often, it's already over. So, what now? Can I improve the quality of my development?
The answer is: YES. Yes, you can. The Toolqa tool aims to do just that. It's a facilitator. What's its goal?
To ensure that APIs meet pre-established business requirements, while also protecting against <sarcasm> future failed attempts </sarcasm> to destroy your application, website, app, or anything else that uses your API.
Now you might be wondering, how does this happen? Where's the magic?
The ToolQA.tool.
The new version of InterSystems Testing Manager which I released last week brings @Timothy Leavitt's cool
Test Coverage Tool to VS Code, and is my entry for the 2025 Developer Tools contest.
Here's a teaser screenshot showing how the unit tests of the IPM project don't yet cover a feature that apparently allows an IPM repository to override its sort order.


Now that we have a good understanding of Python and its features, let's explore how we can leverage Python within IRIS.
Are you curious about how to run Python scripts directly in your InterSystems IRIS or Caché terminal? 🤔 Good news it's easy! 😆 IRIS supports Embedded Python, allowing you to use Python interactively within its terminal environment.
How to access the Python Shell?
To launch the Python shell from the IRIS terminal, simply run the following command:
do ##class(%SYS.Python).Shell()This opens an interactive Python shell inside the IRIS terminal. From here, you can write and run Python code just as you would in a normal Python environment.
Users of the %UnitTest framework can now get test coverage information inside VS Code by combining the latest release (v2.0.0) of the InterSystems Testing Manager extension with @Timothy Leavitt's impressive Test Coverage Tool.

Above you can see the Test Coverage pane, which I have moved to the secondary sidebar on the right so it can more easily be explored in conjunction with the Test Explorer on the left.
Notice how the most recent test run (of all Test Coverage Tool's own unit tests) covered the BitValue method of TestCoverage.Procedures but not the BitCount method (nor 6 other methods).
Hey Community,
Last week, the InterSystems team held our monthly Developer Meetup in a new venue for the first time ever! In the AWS Boston office location in the Seaport, over 71 attendees showed up to chat, network, and listen to talks from two amazing speakers. The event was a huge success; we had a packed house, tons of engagement and questions, and attendees lining up to chat with our speakers afterwards!

Jayesh presents on Testing Frameworks for Agentic Systems to a full house
At hackathons that InterSystems participated and I supported, many students were asking how all their teammates could use the same IRIS database that they spun up in a container. I suggested using ngrok to expose their localhost IRIS and realized we don't have documentation on that. Hence, I thought this would be great to let more people knwo about this powerful technique for enhancing collaboration during development and testing.
This guide will walk you through the process of exposing your local InterSystems IRIS instance using ngrok.
One of the pain points for maintaining HL7 interfaces is the need to run a reliable regression test upon deployment to new environments and after upgrades. The %UnitTest class allows unit tests to be created and packaged alongside interface code. Test data can also be maintained within the unit test class, allowing for quick and easily repeatable smoke-testing and regression testing.
##Resources:
Standard %UnitTest class
This tutorial utilizes a modification of UnitTest-RuleSet by Alex Woodhead from the Open Exchange (https://openexchange.intersystems.
Hi folks!
I'm building a very simple REST API.
But before testing it via a Web Server what I want to make sure that REST API methods work in principle.
Is it an easy way to "fake" the web-server request and get a result e.g. of the method with signature like that?
ClassMethod GetAllRecords(pRequest As %CSP.Request, pResponse As %CSP.Response) As %Status
e.g. calling it in Terminal?
Hello all! We fully tested our system http://DataAI.link on InterSystems Cache database and on old IRIS. We cannot find a free download of IRIS for developer as it was before. We are looking for help from the community to test our system from the http://DataAI.link by register a user with connection to your testing IRIS database and play with our reports, analytics, AI. Another way is to trust us with connection string to your testing IRIS database and we will test our system and report results to you. Thanks for your help! Irina Yaroshevskaya PhD, Yanbor LLC http://DataAI.link
Hi! I've extended my demo repository, andreas5588/demo-dbs-iris, to make it easy to test the FOREIGN SERVER and FOREIGN TABLE features in IRIS.
To achieve this, I created a namespace called FEDERATION. The idea is as follows:
The Script: demo-dbs-iris/src/sql/02_create_foreign_server.sql.png)
IRIS does not support executing SQL statements that combine tables from different namespaces.
Hi everyone,
I’m currently experimenting with the SQL Gateway Connection, CREATE FOREIGN SERVER, and the THROUGH command (IRIS Documentation). To speed up my tests, I’ve combined several DemoDataSets in a Docker container and would like to automate the creation of SQL Gateway Connections using code.
(By the way, if you’re interested, the Docker container is available here: Demo DBs IRIS.)
To achieve this, I’m using SQL to create a connection by running a command like INSERT INTO %Library.sys_SQLConnection.
I was working on a DTL but kept getting ERROR #5002... MAXSTRING errors. The problem was that most of the DTL GUI action steps only support the string data type when working with the segments. A %String has a limit of 3,641,144 characters and my OBX5.1 was 5,242,952 characters long as the example provided. Of course PACS admin stated ultra high quality up to and including 4K resolution files were needed, so we could not get the vendor to compress or reformat these files to compressed jpg or something similar.
.png)
Initially this vendor sends a 2.3 ORU^R01 and our EHR (Epic) is expecting a