Testen

Mit der Methode get_test_data können Sie Testdaten für Verarbeitungsmodule bereitstellen. Wenn Testdaten angegeben werden, wird das Verarbeitungsmodul automatisch getestet, wenn das Test-Framework ausgeführt wird.

Jedes Testobjekt (ein Dictionary) besteht aus den Einträgen module_config, input_data und den erwarteten output_data.

Während der Testausführung wird das Verarbeitungsmodul mit der angegebenen module_config instanziiert und gestartet. Anschließend wird die _run-Methode mit den angegebenen input_data aufgerufen. Das von der _run-Methode zurückgegebene Datenobjekt wird mit den erwarteten output_data verglichen. Wenn die Datenobjekte abweichen, wird ein Fehler ausgelöst. Nachdem das Verarbeitungsmodul ausgeführt wurde, wird es gestoppt.


Beispiel

@classmethod
def get_test_data(cls) -> list[dict]:
    test_1 = {"module_config": cls.Configuration(module_name=os.path.splitext(os.path.basename(__file__))[0],
                                                 field_key="test3",
                                                 field_value="*"),
              "input_data": models.Data(measurement="test",
                                        fields={"test3": 1, "test4": 1.234},
                                        tags={"test1": 1, "test2": 2}),
              "output_data": models.Data(measurement="test",
                                         fields={"test3": 1},
                                         tags={"test1": 1, "test2": 2})}
    test_2 = {"module_config": cls.Configuration(module_name=os.path.splitext(os.path.basename(__file__))[0],
                                                 field_key="test3",
                                                 field_value="1"),
              "input_data": models.Data(measurement="test",
                                        fields={"test3": 1, "test4": 1.234},
                                        tags={"test1": 1, "test2": 2}),
              "output_data": models.Data(measurement="test",
                                         fields={"test3": 1},
                                         tags={"test1": 1, "test2": 2})}

    return [test_1, test_2]


Tests ausführen

  1. Um die Tests auszuführen, wechseln Sie in das Testverzeichnis mit:

    cd src/test

  2. Führen Sie die Tests aus durch:

    python src/test/test.py