Adopted from InterSystems's %UnitTest.Manager by logist (Dimas ltd., Russia) Adapted to Van Hoecke's needs by JCL and FMA do ##class(vhUnitTest.Manager).RunTest() to run all tests. You can turn on debug mode by do ##class(vhUnitTest.Manager).RunTest("/debug=1") You can run unittest within a specific package using ##class(vhUnitTest.Manager).RunTest(,packagename) vhLib.Macro 1 %RegisteredObject %String %Boolean %String %String %Integer %Integer %CacheString 1 %CacheString 1 %CacheString 1 %Boolean 0 %Boolean 0 1 qualifiers:%String,package:%String="" %Status 1 qualifiers:%String,userparam:%String="",package:%String="" %Status 0) Set Message = Message_"

Falende unit testen:

"_##class(TECH.ListUtils).ListToPieces(FalendeTesten,"
") Do SendMiniMailForced^vhLib.Mail(From,MailTo,"UnitTest "_manager.LogIndex_" Failed on ["_Server_" => "_Namespace_"]",Message,0,1) } if (manager.MailOnSucces && manager.IsSuccess(testsuite)){ Set MailTo = $listbuild(##class(TECH.Config.ConfigMgr).Instance().GetString("vhUnitTest.SendToWhenSucceeded")) Do SendMiniMailForced^vhLib.Mail(From,MailTo,"UnitTest "_manager.LogIndex_" Succeeded on ["_Server_" => "_Namespace_"]",Message,0) } } Quit $$$OK ]]>
1 suite:%String,class:%String suite:%String,class:%String testsuite:%String,testcase:%String,testmethod:%String testsuite:%String,testcase:%String,testmethod:%String status:%String,action:%String errortext:%String,action:%String Exceptie:%Exception.AbstractException,action:%String success:%String,action:%String,description:%String message:%String text:%String,level:%String text:%String suite:%String,case:%String,method:%String,action:%String %Boolean suite:%String,case:%String,method:%String,action:%String %Boolean 1 AantalDagen:%Integer=30