Written by

Senior Product Engineer at George James Software
Announcement John Murray · May 22, 2023

InterSystems Testing Manager - a new VS Code extension for the %UnitTest framework

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'). In both cases the actual test runs occur in a server namespace.

Feedback welcome.

Comments

Evgeny Shvarov · May 22, 2023

Don't see it in Open Exchange :) Could you please publish?

0
Brett Saviano  May 22, 2023 to Evgeny Shvarov

@Evgeny Shvarov 
It's available on the VS Code Marketplace, which is where people would expect to find it.

0
Evgeny Shvarov  May 22, 2023 to Brett Saviano

Right, I'm not suggesting to remove it from there. But if you publish on Open Exchange it will let developers from InterSystems ecosystem it will help some developers to notice it.

0
Cameron Macintosh · May 23, 2023

This is awesome!  I've really missed this from working in other programming languages.

According to the ReadMe (v0.2.0), this extension is currently considered a "Preview".  Is there a product roadmap/timeline of what needs to be done to promote it out of "preview" status?

0
John Murray  May 23, 2023 to Cameron Macintosh

Thanks for the positive response. IMO the main thing needed before the Preview tag gets dropped is feedback from %UnitTest users.

One motivation for publishing the Preview is the upcoming Global Summit, which I hope will be a good opportunity for in-person discussion about this extension and others. Find me at the George James Software booth in the Partner Pavilion. 

0
John Murray  Jul 29 to John Murray

Last week's release of a major new version of this extension also gave me reason to drop the Preview tag. If you like it and are reading this message before 4th August 2025 you can vote for it in the current Developer Tools contest.

0
Evgeny Shvarov · May 28, 2023

Tried with the project where I have ObjectScript Unittests. I call them manually with IPM and automatically with github workflow.

Testing manager is installed, I'm on a class with unit test.

Not sure though how it works?

0
John Murray  Jun 6, 2023 to Evgeny Shvarov

Move it outside the `objectscript.conn` object please. 

0
Evgeny Shvarov  Jun 6, 2023 to John Murray

Did it:

Now it likes it, but still the testing tool doesn't see any tests. Should it be absolute path or relative to the root of repo?

Do you mind to send a PR with a working setting to the repo?

0
John Murray  Jun 8, 2023 to Evgeny Shvarov

Please change this to a relative path (no leading slash).

Also, there was a bug in how it handled a "docker-compose" type of configuration.

Please try this dev build by downloading the zip, extracting the VSIX and dropping it into VS Code's Extensions view. If it works for you I will publish a new version to Marketplace.

0
Evgeny Shvarov  Jun 8, 2023 to John Murray

Now it sees them:

But they ask for ^UnitTest to be setup, instructions, etc.

Could it work similar as it works in IPM as @Timothy Leavitt demonstrated?

Because with IPM I can run tests all and standalone without any settings at all - it just works. 
Could the IPM be leveraged if it is presented in the repo/namespace?

0
John Murray  Jun 8, 2023 to Evgeny Shvarov

Thanks for confirming the fix. I'm publishing 0.2.1 now.

Please post enhancement ideas on the repo, for better tracking.

0
Evgeny Shvarov  Jun 8, 2023 to John Murray

BTW,

this setting worked:

"intersystems.testingManager.client.relativeTestRoot": "/tests",
0

I am trying to configure this extension on 2023.1  for client mode it does not load and run the tests. how can i dedug this?

0