TestFixtures - Manual - AxUnit-ST - AxUnit ST documentation package - AxUnit-ST,

AxUnit-ST CLI Tool (test)

Portfolio
SIMATIC AX
Product
AxUnit-ST
Software version
8.0.33
Edition
04/2025
Language
English (original)
Package Name
@ax/axunitst-docs

TestFixtures are a way to organize your tests, especially when it comes to testing classes. They can also have a persistent state, contain member variables and private methods. They also have the possibility to make use of initializer methods (see section below).

The code below defines the class NumberGenerator and tests it in the class NumberGeneratorTest.

USING AxUnit.Assert;

NAMESPACE MyTests

    CLASS PUBLIC NumberGenerator
        VAR PUBLIC
            Number : INT;
        END_VAR

        METHOD PUBLIC GetNext  : INT
            GetNext := Number + 1;
            Number := GetNext;
        END_METHOD

        METHOD PUBLIC GetCurrent  : INT
            GetCurrent := Number;
        END_METHOD
    END_CLASS

    {TestFixture}
    CLASS PUBLIC NumberGeneratorTest
        VAR
            _defaultNumberGenerator : NumberGenerator;
            _numberGenerator100 : NumberGenerator := (Number := 100);
            _getnextInstance : NumberGenerator;
        END_VAR

        {Test}
        METHOD PUBLIC NumberIsSetTo0ByDefaultInitializer
            Equal(_defaultNumberGenerator.Number, 0);
        END_METHOD

        {Test}
        METHOD PUBLIC NumberIsSetByExplicitInitializer
            Equal(_numberGenerator100.Number, 100);
        END_METHOD

        {Test}
        METHOD PUBLIC GetNextIncrementsTheNumber
            Equal(_getnextInstance.Number, 0);
            Equal(_getnextInstance.GetNext(), 1);
            Equal(_getnextInstance.Number, 1);
        END_METHOD
    END_CLASS
END_NAMESPACE