Zugriff auf Variablen



  • Hallo ,

    ich würde gerne eine Art Benchmark und Test-Suite schreiben.
    Nun ist es so, dass alle meine Tests Zugriff auf ein paar Variablen benötigen und es mir nicht sinnvoll erscheint, jede Klasse mit einem zeiger oder einer Referenz auf diese zu initialisieren. Aber global möchte ich die Variablen auch nicht machen. Welche Möglichkeiten gibt es sonst noch?

    Ganz grob skizziert in Pseudo-Code:

    class Test:
      run()
    
    class Test_A (Test):
      run():
        assert(x*x == 42)  // x ist eine wichtige Variable, die von jedem test benötigt wird.
    
    class Test_B(Test):
      run():
        foo(x)
    


  • Das nennt sich Fixture, was du suchst. In Google Test muss man dann TEST_F benutzen und von einer speziellen Klasse erben, die das SetUp vornimmt. In pytest (da dein Pseudocode so nach Python aussieht) geht es mit @pytest.fixture - deine Funktion bekommt dann einen weiteren Parameter.


Anmelden zum Antworten