Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Adapter Integration Test harness.startAdapterAndWait()

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Adapter Integration Test harness.startAdapterAndWait()

Geplant Angeheftet Gesperrt Verschoben Entwicklung
integration testtestharness
3 Beiträge 2 Kommentatoren 318 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F Offline
    F Offline
    foxthefox
    Developer
    schrieb am zuletzt editiert von
    #1

    Ich versuche gerade von testAdapter.js zu integration.js zu migrieren.
    (https://github.com/foxthefox/ioBroker.fritzdect/tree/2.0.0-class)

    Für den Integrationstest habe ich einen Mockserver, der mit dem Adapter live interagiert.
    Im "alten" Testlauf wurden die config und der Server im before() eingerichtet.
    Danach erfolgte einmalig der Adapterstart.
    Für jedes Gerät gab es dann ein it().

    Im neuen integration.js kann ich den mockserver im before() starten, allerdings scheint es so, daß für jedes it() auch der adapter neu gestartet werden muß (harness.startAdapterAndWait()).
    Mit den ganzen debug Meldungen ergibt das ca. 3000 Zeilen im log, schöner fände ich einmal den Adapterstart und dann die it() ausführen.

    Gibt es da eine Möglichkeit harness.startAdapterAndWait() außerhalb der it() aufzurufen und dann in den it() harness.states.getState zu prüfen?

    Gruß
    Klaus

    Adapterüberblick: Profil Github;

    Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

    Ein Aufruf: video

    AlCalzoneA 1 Antwort Letzte Antwort
    0
    • F foxthefox

      Ich versuche gerade von testAdapter.js zu integration.js zu migrieren.
      (https://github.com/foxthefox/ioBroker.fritzdect/tree/2.0.0-class)

      Für den Integrationstest habe ich einen Mockserver, der mit dem Adapter live interagiert.
      Im "alten" Testlauf wurden die config und der Server im before() eingerichtet.
      Danach erfolgte einmalig der Adapterstart.
      Für jedes Gerät gab es dann ein it().

      Im neuen integration.js kann ich den mockserver im before() starten, allerdings scheint es so, daß für jedes it() auch der adapter neu gestartet werden muß (harness.startAdapterAndWait()).
      Mit den ganzen debug Meldungen ergibt das ca. 3000 Zeilen im log, schöner fände ich einmal den Adapterstart und dann die it() ausführen.

      Gibt es da eine Möglichkeit harness.startAdapterAndWait() außerhalb der it() aufzurufen und dann in den it() harness.states.getState zu prüfen?

      Gruß
      Klaus

      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von AlCalzone
      #2

      @foxthefox Ich fürchte das ist derzeit nicht vorgesehen. Könntest du deinen Usecase (am besten mit Beispielen) mal im https://github.com/ioBroker/testing Repo als Issue beschreiben? Dann könnte ich mir anschauen wie man das am besten umsetzt.

      Wirkliche Integration-Tests außer JS-Controller machen derzeit wohl die wenigsten devs.

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      F 1 Antwort Letzte Antwort
      0
      • AlCalzoneA AlCalzone

        @foxthefox Ich fürchte das ist derzeit nicht vorgesehen. Könntest du deinen Usecase (am besten mit Beispielen) mal im https://github.com/ioBroker/testing Repo als Issue beschreiben? Dann könnte ich mir anschauen wie man das am besten umsetzt.

        Wirkliche Integration-Tests außer JS-Controller machen derzeit wohl die wenigsten devs.

        F Offline
        F Offline
        foxthefox
        Developer
        schrieb am zuletzt editiert von foxthefox
        #3

        @AlCalzone
        danke für die Rückmeldung. Dann bläh ich mal das log auf, indem ich die ganzen Tests merge.
        Hab in GitHub ein Issue mit Code-Strukturen aufgemacht.
        Ich hoffe das erklärt es etwas.

        Bei vielen Adaptern ist es wirklich schwierig eine echten Integrationstest zu machen, da die Gegenseite schwer zu emulierten ist. Aber bei allen Ethernet basierten Kommunikationen sollte so etwas machbar sein (selbst mit einfachen login-mechanismen). Für serielle Schnittstellen bräuchte es eine injection die in das seriell eingreift.
        Ich finde es sehr hilfreich. Zudem kann man den mock auch im live environment mit einer neuen adapter Instanz auch noch durchspielen.

        Gruß
        Klaus

        EDIT: nach 13000 log Zeilen wird nichts mehr im debug window angezeigt :-( man kann nur noch den raw output anschauen.

        Adapterüberblick: Profil Github;

        Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

        Ein Aufruf: video

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        691

        Online

        32.7k

        Benutzer

        82.3k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe