Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [%UnitTest] >  [TestCacheScript]
Private  Storage   

class %UnitTest.TestCacheScript extends %UnitTest.TestScript

Extends TestScript. Adds methods to test ObjectScript code.

This class compares a file called output.log to a file called reference.log.

  1. Create a new class that extends TestCacheScript called, for example, TestCacheScriptX and export it to your test directory.

  2. Create a file called script.txt in your test directory, containing ObjectScript code you want to test. Here's an example:
    w "abc"
    w $p("abc,xyz",",",Z)
    
  3. Run the test.

    d ##class(%UnitTest.Manager).RunTest("dirname",,"reference")

    Each line of code in script.txt is executed and command output is written to reference.log until the end of file in script.txt is reached. The first time that you run the test, set the third argument as "reference" (lowercase and in double quotes) to create a reference.log file. (Use "screen" as the third argument to display output on the screen.) Check that the contents of new reference.log file are correct.

  4. Run the test again

    d ##class(%UnitTest.Manager).RunTest("dirname")

Every time you run your test the new output is written to output.log. output.log is compared to reference.log. If the files match, the test passes. If the files do not match, the test fails. If the output changes, you need to update the reference.log file. Note that, in Intersystems, the default test directory is U:/internal/testing/unit_tests

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
1


Summary

Properties
AutoPassword Debug SkipTest

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName
%ConstructClone %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified
%DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified
%New %NormalizeObject %ObjectModified
%OnNew %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified
%ValidateObject AssertEqualsViaMacro AssertFailureViaMacro
AssertFilesSQLUnorderedSameViaMacro AssertFilesSameViaMacro AssertNotEqualsViaMacro
AssertNotTrueViaMacro AssertSkippedViaMacro AssertStatusEqualsViaMacro
AssertStatusNotOKViaMacro AssertStatusOKViaMacro AssertSuccessViaMacro
AssertTrueViaMacro Checkout LogMessage
OnAfterAllTests OnAfterOneTest OnBeforeAllTests
OnBeforeOneTest TestRunScript runScript


Methods

• classmethod runScript(scriptfile As %String, outputfile As %String)
Override this method with an implementation that reads from scriptfile, writing the output to outputfile. The output should be repeatable for a given script; not dependent on, e.g., the time or the system under test.


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.