Simple example - Manual - AxUnit-ST - AxUnit ST documentation package - AxUnit-ST,

AxUnit-ST CLI Tool (test)

Portfolio
SIMATIC AX
Product
AxUnit-ST
Software version
8.3.9
Edition
07/2025
Language
English (original)
Package Name
@ax/axunitst-docs
USING AxUnit;
USING UserLibrary;

NAMESPACE MockingPayloadTest

FUNCTION FuncMock: INT
    VAR_TEMP
        p : ref_to myPayload;
    END_VAR
    p ?= AxUnit.Mocking.GetPayload();
    IF (p <> NULL) THEN
        FuncMock := p^.Value;
    END_IF;
END_FUNCTION

//the IPayload interface must be implemented in order for the payload to work
CLASS MyPayload IMPLEMENTS AxUnit.Mocking.IPayload
    VAR PUBLIC
        Value: INT;
    END_VAR
END_CLASS

{TestFixture}
CLASS MyTests
    VAR
        _payloadInstance: MyPayload;
    END_VAR

    {Test}
    METHOD PUBLIC Returns123
        _payloadInstance.Value := 123;
        AxUnit.Mocking.Mock(NAME_OF(GetNumber1), NAME_OF(FuncMock), _payloadInstance);
        AxUnit.Assert.Equal(GetANumber(), 123);

        _payloadInstance.Value := 456;
        AxUnit.Mocking.Mock(NAME_OF(GetNumber1), NAME_OF(FuncMock), _payloadInstance);
        AxUnit.Assert.Equal(GetANumber(), 456);
    END_METHOD
END_CLASS

END_NAMESPACE