#Testing

0 Followers · 128 Posts

Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test.

Article Henrique Dias · Feb 9, 2023 3m read

Hey community! 

It's time to elevate your unit tests to the next level with iris-TripleSlash new solo feature!

We are bring to the game Setup and Tear down events!
Just add description on class, with special tags like:

  • beforeAll
  • beforeOne
  • afterAll
  • afterOne

The tripleSlash will turn it to:

  • OnBeforeAllTests
  • OnBeforeOneTest
  • OnAfterAllTests
  • OnAfterOneTest

And that's not all! The new double dot abbreviation feature allows you to effortlessly call methods and simplify your code, i.e.:

///<example>/// Write ..TheAnswerForEverything()/// 42///</example>
6
0 324
Question Scott Roth · Jul 8, 2022

We are upgrading from Health Connect 2018.1.3 to IRIS Health Connect 2022.1, and one thing that we are particularly hesitant about is if our Business Rules will work in the new version.

I am trying to come up with a testing process for bulk testing our rules, and wanted to know if this could be done programmatically instead of having to modify all the Business Operations to have them write the HL7 data to a file. I caught Orlando Health's presentation at GS2022 but I am not sure that will work for my team.

10
3 691
Question Chris Marais · Nov 15, 2021

When running the command 

do ##class(TestCoverage.Manager).RunTest(,"/nodelete",.userParams)

I now get the following error. these tests used to run fine.

LogStateStatus:0:TestCoverage.Manager:OnBeforeAllTests:ERROR #6060: Somebody else is using the Monitor. <<==== **FAILED**

 

Can someone please point me in the right direction?

7
0 428
Question Fynn Schwiegelshohn · Sep 30, 2022

Hi all,
 

I am currently wokring on integrating unit tests into a project. I am also attempting to test productions with the TestProductions class. This works great, but I noticed that no code coverage information is being gathered when I run the production tests?

Am I doing something wrong (forgot to add something in the coverage.list for instance) or is TestProduction not intended for code coverage?

Thanks!

0
1 210
Question Michael McGrann · Aug 15, 2022

We are looking for a 3rd party application that can scan our IRIS based Cache Object Script code for vulnerabilities or coding weaknesses.  There are many, many applications/vendors out there that do code scanning but none seem to support Cache Object Script or scanning the IRIS environment.   If anyone is aware of a company/product that can scan our code / IRIS environment, I would love to hear about it.

Thanks in advance for the help.

Mike

3
0 480
Question Michael Davidovich · Aug 12, 2022

Does anyone have experience with CircleCI or really any automation tool using %UnitTest?

I have built my app and ran my unit test in a Docker container automated by CircleCI.  However, after many of the tests failed I see:

How do you halt out of the IRIS session and return an exit code to the shell?

I have a script in my repo that I pass into IRIS after CircleCI does the code checkout

iris session IRIS < inFile

8
0 509
Article Evgeny Shvarov · May 28, 2022 3m read

Hi Developers!

This is yet another short post that is intended to simplify developers' life. Now we'll talk about how to make GitHub run unit tests with every push to the repository by adding just one file to the repo. For free.  On Github Cloud. Sounds great, isn't it?

It is possible and very easy to do. Credit goes to @Dmitry Maslennikov (and his repo), ZPM Package Manager, and GitHub Actions.  Let's see how this all works!

0
0 522
Question Michael Davidovich · May 18, 2022

Continuing on the journey of implementing %UnitTest, @Timothy Leavitt's Test Coverage package, and automated testing with Jenkins.

My question today: why do we utilize a unit test root directory?  

I've been defining packages and classes to write unit tests as I've been developing and I run the tests on the command line or using a routine file that is setup as a debug target which has been working great.  I use DebugRunTestCase() to do this (so the classes aren't deleted).  

4
1 482
Question Zoltán Mencser · Mar 24, 2022

Hello everyone!

When running the command 

do ##class(TestCoverage.Manager).RunTest(,"/nodelete",.userParams)

I now get the following error.

ERROR #5002 : ObjectScript error:  <FUNCTION>zStart+45^%Monitor.System.LineByLine.1  <<==== **FAILED** TestCoverage.Manager:OnBeforeAllTests:::

These tests run fine in Studio. 

Also the TestCoverage works fine on all the other namespaces. So far i'm experienceing this problem on this 1 namespace.

The solution of stopping the LinebyLine monitor doesn't help like in the case of ERROR #6060

Can someone please point me in the right direction?

9
0 649
Article Andrey Shcheglov · Dec 13, 2018 6m read

Astronomers’ tools

5 years ago, on December 19, 2013, the ESA launched an orbital telescope called Gaia. Learn more about the Gaia mission on the official website of the European Space Agency or in the article by Vitaly Egorov (Billion pixels for a billion stars).

However, few people know what technology the agency chose for storing and processing the data collected by Gaia. Two years before the launch, in 2011, the developers were considering a number of candidates (see “Astrostatistics and Data Mining” by Luis Manuel Sarro, Laurent Eyer, William O’Mullane, Joris De Ridder, pp. 111-112):

9
1 1112
Question Adam Eborn · Jul 9, 2021

Is there a method I can utilise to check if a particular method has been called and perhaps log the args it was called with?

We are currently trying to expand out Cache Unit Testing processes and were wondering if there is an existing method that would capture this or how  such a method could be structured.

Thanks
Adam

2
0 223
Question Andy Blake · Jun 30, 2021

Hi, I need to assert that a string is a certain value.

$$$AssertEquals("String value""Value expected""Should return correct value")

When running this I get an INVALID OREF error.

Is there any Assertion method I can use where the first parameter can be string like above, rather than an instance of a class as I can see on the documentation?

Thanks,

Andy.

2
0 313
Question Karl Kirk · Mar 1, 2018

Are there any BDD testing automation implementations within Mumps/Cache Objects already in existence?
We are looking at using Cucumber for our Java regression test automation and would like to use similar feature file testing with the Cache code.


Looking to use something existing before building it.
Regards,
-Karl

5
1 1063
Question Werner Beukes · Jan 20, 2021

I need to do some nifty string manipulation on a source property. I will not be able to do it with the functions available(with the knowledge that I have of what is available). Could I call a ClassMethod to do this for me? This is what I want to do: The source property is "myemail@myemaildomain.co.uk". I need to add the text "test" to the beginning of that string. "testmyemail@myemaildomain.co.uk". That should be simple enough, but then I have to do this as well, "testmyemail@myemaildomaintest.co.uk". Note the additional "test" added after "myemaildomain".

7
0 284
Question Maik Gode · Dec 2, 2020

Hey all,

I am currently working on a website (with Angular) for displaying the results of UnitTests.

Everything is working fine, except that I can not run a test inside a ClassMethod.

I have 2 classes: One for handling which test class should be invoked and then a test class that is extending %UnitTest.TestCase

The test class:

1
0 264
Job Mike Yackanich · Nov 18, 2020

We're looking to grow our team by adding an experienced healthcare interoperability resource to focus on Participant onboarding and troubleshooting, and testing and evaluation of in-house and third-party software solutions to ensure compliance with organizational standards and requirements.

Details of position are available on our Careers page.

#healthcare  #remotework

0
0 378
Article Oliver Wilms · Oct 5, 2020 2m read

IRIS Interoperability Productions formerly known as Ensemble are fun to work with. Yes, I really think my work is fun. I have seen File Passthrough Services and File Passthrough Operations come in handy. At one point we placed test messages in files, then we utilized a File Passthrough Service with Inbound File Adapter to send the contents of the file as a Stream to a File Passthrough Operation with Outbound TCP Adapter. The Operation pointed at a TCP service and sent the test messages.

1
0 436
Question Scott Roth · Oct 8, 2020

Someone may have asked this before but is there a way to return the TRACE statements that we have placed in the Data transformation within the DTL Editor Testing Tool (EnsPortal.Dialog.TestTransform.cls)?  Is this something we can get in an Enhancement request in for? 

It would save sometime in troubleshooting where an error might be in the DTL.

Just wondering...

Thanks

Scott

Cache for UNIX (IBM AIX for System Power System-64) 2018.1.3 (Build 414U) Mon Oct 28 2019 11:24:02 EDT [HealthShare Modules:Core:15.032.9026 + Linkage Engine:15.032.9026]

1
0 336
Discussion Evgeny Shvarov · Sep 21, 2020

Hi Developers!

Recently we discussed the naming convention on packages we deploy and even made some choices.

Here I want to have a conversation on the naming convention for unit tests.

Of course, we wish every good library has unit tests. Here is the documentation and some good articles(one, two, three) regarding it on the Developer Community.

Let's decide on the naming of UnitTests packages?

The suggestion is that unit test classes will all start with the UnitTest package name.

E.g. if your library's class name is:

johndoe.lib.class

The related unit test class will be:

UnitTest.johndoe.lib.class
6
0 425
Article Timothy Leavitt · Aug 27, 2020 7m read

Introduction

In a previous article, I discussed patterns for running unit tests via the  InterSystems Package Manager. This article goes a step further, using GitHub actions to drive test execution and reporting. The motivating use case is running CI for one of my Open Exchange projects, AppS.REST (see the introductory article for it here). You can see the full implementation from which the snippets in this article were taken on GitHub; it could easily serve as a template for running CI for other projects using the ObjectScript package manager.

Features demonstrated implementation include:

0
2 929
Question Paras Batheja · Aug 17, 2020

Hi Developers 

Is there any way that we can pass the values to the read prompts via cache routine.

For example, we have a couple of reports/routine in our system which accepts some inputs and after taking the inputs it generates some data. Right now it has proper UI and where User enters the value and in routines we have Read statements which accepts those inputs for further processing.

7
0 611
Question Igor Titarenko · Jul 30, 2020

Did anyone run into this error when stopping a Production from Ens.Director?

Ens.Director::StopProduction => ERROR <Ens>ErrProductionNotQuiescent: IRIS can not become quiescent

It happens sporadically when an automated unit test from a class that extends %UnitTest.TestProduction runs a test on a Business Process. I already increased the parameter MAXWAIT to 30 seconds, but the error still happens.

4
0 668
Question Oliver Wilms · Jun 25, 2020

Hello,

I am using a class based on %UnitTest.TestProduction to test Health Connect production.

I read in Class Reference IRIS for UNIX 2020.1:

Note: This class is not intended to be used in InterSystems IRIS instances.

Why should this not be used in IRIS? I have not seen any difference using this with HealthConnect 2017 or IRIS 2020.1

1
0 299
Question Robert Cemper · Jun 2, 2020

In the default IRISterminal or using PuTTY I have a set of "Routine Commands" available 

  • PRINT   – Displays lines of code from the current routine on the current device.
  • ZINSERT – Inserts one or more lines of code into the current routine.
  • ZLOAD   – Loads a routine into the current routine buffer.
  • ZPRINT  – Displays lines of code from the current routine on the current device.
  • ZREMOVE – Deletes a line or a range of lines from the current routine, or unloads the current routine.
  • ZSAVE   – Saves the current routine.
  • ZZPRINT – Displays one or more source code lines from a routine
9
0 357
Article Robert Cemper · May 14, 2020 1m read

Allow limited durability for demo and development IRIS-Docker-micro-Durability During development of a container based demo I found the need to access a fresh docker
an instance of IRIS image (e.g intersystems/iris-community:2020.2.0.199.0) over and over.
To bypass loading my code repeatedly I developed this workaround.

It is a reduced variant of Docker - light weight durability

Docker support

The principle of a persitent IRIS database outside the container is unchanged.
But now the whole setup is moved into Dockerfile and docker-compose.yml

Prerequisites

0
1 321