Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test.
I found the need to merge 2 Docker images (e.g. intersystems/iris-community:2020.2.0.199.0 + my home grown NodeJS Image). I found some advice on the Web but no real convincing solution.
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).
Are there any tools to check the code coverage and to do a lint check for cache object script? Developers will be working with HealthConnect (IRIS based)
Suppose you have large set of cubes, pivots and dashboards in your DeepSee solution.
Then you change the level, measure or dimension in the cube and is there any way to test that your new input didn't break current pivots, dashboards, etc?
When we write unit test cases for cache object script code using %UnitTest.TestCase, what is the best way to write code to identify code coverage?
So, let say my unit test case hit all 10 lines of code of a method for a given class. So, unit test coverage should be 100% for that. But, using line-by-line coverage [(%Monitor.System.LineByLine] getting wrong percentage, because it also includes code comment/documentation as part of code. So, practically we can not ever achieve 100% of code coverage by using this API.
OAuth server to be deployed on the IRIS learning cloud platform. Clients - one on the other instance of the learning IRIS server, the other client locally on my computer in the container docker.
Both clients get a seemingly correct link (through ##class(%SYS.OAuth2.Authorization).GetAuthorizationCodeEndpoint()) to the login request form:
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.
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?
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.
I found a package on OEX for a Sharding Demo If Sharding is NOT included in the Community License I can not use the Community Distribution but require a different one. And have to add ZPM manually.
Those who actively use unittests with ObjectScript know that they are methods of instance but not classmethods.
Sometimes this is not very convenient. What I do now if I face that some test method fails I COPY(!) this method somewhere else as classmethod and run/debug it.
Is there a handy way to call the particular unittest method in terminal? And what is more important, a handy way to debug the test method?
Why do we have unittest methods as instance methods?
Good morning people. The use of TDD is currently being reference for software delivery more confiabilitade and quality.
At the company I work developing web applications , we create tests for method class in a deteminado package and running the steps that the documentation recommends:
1 export the tests classes to a predefined folder. 2- And running the test ( D ## class (% UnitTest.Manager ) .RunTest (,"/nodelete" )
It is a lot of work to do the export and run these tests would have a resource that we could only run the tests without the need for export ?
I want to test automatically that HL7 business operation works correctly in error conditions. One is to test CE acknowledgement. I have planned to implement test production which includes business services for different situations (AA, AE, CA, CE, timeout, late response etc).
How should I implement HL7 business service that always returns CE (commit error)? I have tried but it keeps returning "AA".
Hi All, I was creating a unit test directory with the below script. But it not creating any directory as mentioned in code. I am working on MacBook with irisusr User as standard installation process.
if '$data(^UnitTestRoot) {
set mainFolder = "UnitTest\NewDir\"
set st = ##class(%File).CreateDirectoryChain(mainFolder _ testSuite)
if $$$ISOK(st) { set ^UnitTestRoot = mainFolder }
else {
write !, "UnitTestRoot folder could not be created. Consult with instructor."
Intersystems is all about name spaces. Each Name space can be mapped to one or more databases and vice versa. In my desktop with intersystems, Can i have DEV , TEST environments pointing to different name spaces at same point of time ? if i am right here, then the DEV environment is nothing but the namespace that we work on....Please let know
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.
Hi All, I want to write testcase in objectscript but stuck at this point where I am getting a DynamicObject from the class method and how can I assert this and check it is okay. Also if in any case error It will throw error custom exception class that I created. How to handle assertion for exception in this case also.
Getting INVALID OREF error while unit testing. Also ResultDyanmicObj.Headers.%Size(),DummyResponse.Headers.%Size() these are working fine getting 7 value from both. but still it is not working.
do $$$AssertEquals(ResultDyanmicObj.Headers.%Size(),DummyResponse.Headers.%Size(), "Validation for Headers")
I'm after feedback and comments on the sort of tools and approaches the wider InterSystems community uses for QA Testing applications written in Cache/Ensemble or IRIS. I am aware of the %UnitTest package, and understand how that works... but:
- Do you use an alternative or framework built around this native Unit Testing tool ?
- What is your experience with %UnitTest if you use it ?
- Is there a tool you would recommend for your UI (I know this is not specifically an InterSystems' related question)