Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. npm test failed

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

npm test failed

Scheduled Pinned Locked Moved Entwicklung
npmnpm errornpm test
12 Posts 3 Posters 830 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • GrizzelbeeG Offline
    GrizzelbeeG Offline
    Grizzelbee
    Developer
    wrote on last edited by
    #1

    Guten Morgen zusammen,

    ich habe meinen Miele@Home Adapter endlich umgeschrieben und möchte ihn nun in Kürze veröffentlichen. dazu will ich habe das "npm test" und "npm ci" beides läuft .. soll ja alles sauber sein. 🙂

    Ich bekomme aber bei "npm test" noch einen Fehler angezeigt, den ich nicht deuten kann. Hier mal das komplette log:

    C:\Users\hanjo\WebstormProjects\ioBroker.mieleathome>npm test
    
    > iobroker.mieleathome@1.0.0 test C:\Users\hanjo\WebstormProjects\ioBroker.mieleathome
    > node node_modules/mocha/bin/mocha --exit
    
    
    Running tests in C:\Users\hanjo\AppData\Local\Temp\test-iobroker.mieleathome
    
    
    
      Test the adapter (in a live environment)
        1) "before all" hook for "The adapter starts"
    
      Validate the package files
        Ensure they are readable
          package.json
            √ exists
            √ contains valid JSON
            √ is an object
          io-package.json
            √ exists
            √ contains valid JSON
            √ is an object
        Check contents of package.json
          √ The property "name" exists
          √ The property "version" exists
          √ The property "description" exists
          √ The property "author" exists
          √ The property "license" exists
          √ The property "main" exists
          √ The property "repository" exists
          √ The property "repository.type" exists
          √ The package name is correct
          √ The repository type is "git"
        Check contents of io-package.json
          √ The property "common.name" exists
          √ The property "common.title" exists
          √ The property "common.version" exists
          √ The property "common.news" exists
          √ The property "common.desc" exists
          √ The property "common.icon" exists
          √ The property "common.extIcon" exists
          √ The property "common.license" exists
          √ The property "common.type" exists
          √ The property "common.authors" exists
          √ The property "native" exists
          √ The title does not contain "adapter" or "iobroker"
          √ The description is an object to support multiple languages
          √ common.authors is an array that is not empty
          √ common.news is an object that contains maximum 20 entries
          √ Materialize is supported
        Compare contents of package.json and io-package.json
          √ The name matches
          √ The version matches
          √ The license matches
    
      Test the adapter (in a mocked environment)
        2) The adapter starts in normal mode
        √ The adapter starts in compact mode (83ms)
    
    
      36 passing (1s)
      2 failing
    
      1) Test the adapter (in a live environment)
           "before all" hook for "The adapter starts":
         Error: JS-Controller is already running! Stop it for the first test run and try again!
          at Context.<anonymous> (node_modules\@iobroker\testing\build\tests\integration\index.js:48:27)
          at Generator.next (<anonymous>)
          at fulfilled (node_modules\@iobroker\testing\build\tests\integration\index.js:6:58)
          at process._tickCallback (internal/process/next_tick.js:68:7)
    
      2) Test the adapter (in a mocked environment)
           The adapter starts in normal mode:
         AssertionError: process.exit was called with the unexpected exit code 11!: expected [] to include 11
          at assertValidExitCode (node_modules\@iobroker\testing\build\tests\unit\index.js:32:41)
          at Context.<anonymous> (node_modules\@iobroker\testing\build\tests\unit\index.js:67:17)
          at Generator.next (<anonymous>)
          at fulfilled (node_modules\@iobroker\testing\build\tests\unit\index.js:7:58)
    
    
    
    npm ERR! Test failed.  See above for more details.
    

    Ich verstehe nur einfach nicht, was npm mir da sagen will. Googlen nach den Fehlern hat auch nichts vernünftiges zutage gebracht.

    der komplette code des Adapters findet sich unter: https://github.com/Grizzelbee/ioBroker.mieleathome/tree/Development_V1.0.0

    Kann mir vielleicht jemand helfen?

    viele Grüße
    Grizeelbee

    AlCalzoneA 1 Reply Last reply
    0
    • GrizzelbeeG Grizzelbee

      Guten Morgen zusammen,

      ich habe meinen Miele@Home Adapter endlich umgeschrieben und möchte ihn nun in Kürze veröffentlichen. dazu will ich habe das "npm test" und "npm ci" beides läuft .. soll ja alles sauber sein. 🙂

      Ich bekomme aber bei "npm test" noch einen Fehler angezeigt, den ich nicht deuten kann. Hier mal das komplette log:

      C:\Users\hanjo\WebstormProjects\ioBroker.mieleathome>npm test
      
      > iobroker.mieleathome@1.0.0 test C:\Users\hanjo\WebstormProjects\ioBroker.mieleathome
      > node node_modules/mocha/bin/mocha --exit
      
      
      Running tests in C:\Users\hanjo\AppData\Local\Temp\test-iobroker.mieleathome
      
      
      
        Test the adapter (in a live environment)
          1) "before all" hook for "The adapter starts"
      
        Validate the package files
          Ensure they are readable
            package.json
              √ exists
              √ contains valid JSON
              √ is an object
            io-package.json
              √ exists
              √ contains valid JSON
              √ is an object
          Check contents of package.json
            √ The property "name" exists
            √ The property "version" exists
            √ The property "description" exists
            √ The property "author" exists
            √ The property "license" exists
            √ The property "main" exists
            √ The property "repository" exists
            √ The property "repository.type" exists
            √ The package name is correct
            √ The repository type is "git"
          Check contents of io-package.json
            √ The property "common.name" exists
            √ The property "common.title" exists
            √ The property "common.version" exists
            √ The property "common.news" exists
            √ The property "common.desc" exists
            √ The property "common.icon" exists
            √ The property "common.extIcon" exists
            √ The property "common.license" exists
            √ The property "common.type" exists
            √ The property "common.authors" exists
            √ The property "native" exists
            √ The title does not contain "adapter" or "iobroker"
            √ The description is an object to support multiple languages
            √ common.authors is an array that is not empty
            √ common.news is an object that contains maximum 20 entries
            √ Materialize is supported
          Compare contents of package.json and io-package.json
            √ The name matches
            √ The version matches
            √ The license matches
      
        Test the adapter (in a mocked environment)
          2) The adapter starts in normal mode
          √ The adapter starts in compact mode (83ms)
      
      
        36 passing (1s)
        2 failing
      
        1) Test the adapter (in a live environment)
             "before all" hook for "The adapter starts":
           Error: JS-Controller is already running! Stop it for the first test run and try again!
            at Context.<anonymous> (node_modules\@iobroker\testing\build\tests\integration\index.js:48:27)
            at Generator.next (<anonymous>)
            at fulfilled (node_modules\@iobroker\testing\build\tests\integration\index.js:6:58)
            at process._tickCallback (internal/process/next_tick.js:68:7)
      
        2) Test the adapter (in a mocked environment)
             The adapter starts in normal mode:
           AssertionError: process.exit was called with the unexpected exit code 11!: expected [] to include 11
            at assertValidExitCode (node_modules\@iobroker\testing\build\tests\unit\index.js:32:41)
            at Context.<anonymous> (node_modules\@iobroker\testing\build\tests\unit\index.js:67:17)
            at Generator.next (<anonymous>)
            at fulfilled (node_modules\@iobroker\testing\build\tests\unit\index.js:7:58)
      
      
      
      npm ERR! Test failed.  See above for more details.
      

      Ich verstehe nur einfach nicht, was npm mir da sagen will. Googlen nach den Fehlern hat auch nichts vernünftiges zutage gebracht.

      der komplette code des Adapters findet sich unter: https://github.com/Grizzelbee/ioBroker.mieleathome/tree/Development_V1.0.0

      Kann mir vielleicht jemand helfen?

      viele Grüße
      Grizeelbee

      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      wrote on last edited by AlCalzone
      #2

      @Grizzelbee sagte in npm test failed:

      JS-Controller is already running! Stop it for the first test run and try again!

      Was ist daran denn nicht verständlich?

      process.exit was called with the unexpected exit code 11!: expected [] to include 11

      Während deinem Start wird die Konfiguration geprüft und wegen nicht vorhandener Konfiguration der Adapter mit Code 11 beendet (terminate).
      Hierfür musst du die Unit-Test-Datei anpassen (test/unit.js)
      ==> https://github.com/ioBroker/testing#adapter-startup-unit-test

      Entweder du ergänzt die nötigen Objekte, damit die Prüfung erfolgreich ist (overwriteAdapterConfig, oder du fügst Exit code 11 den erlaubten Exit codes (allowedExitCodes) hinzu.

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

      1 Reply Last reply
      0
      • OliverIOO Offline
        OliverIOO Offline
        OliverIO
        wrote on last edited by OliverIO
        #3

        hm, da ich die tests bei mir alle einzeln anstosse:

        npm run test:package
        npm run test:unit
        npm run test:integration

        ist das der fehler, der bei mir beim 3.Test (integration) kommt, wenn ich vergesse
        vorher den iobroker zu stoppen. die anderen beiden können mit laufendem iobroker durchgeführt werden.
        Beim integration-test wird ein zusätzlicher iobroker gestartet und das funktioniert natürlich nicht, weil da die selben ports schon alle belegt sind.

        also einfach vor dem test
        iobroker stop eingeben

        ein anpassen meiner testdateien war bei mir nie nötig. sind alle noch standard

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        AlCalzoneA 1 Reply Last reply
        0
        • GrizzelbeeG Offline
          GrizzelbeeG Offline
          Grizzelbee
          Developer
          wrote on last edited by
          #4

          Hallo !

          vielen dank für eure Antworten.

          @OliverIO: das bloße stoppen von ioBroker reicht in meinem Fall offenbar nicht aus. npm test failed immer noch auf die selbe Art.

          @AlCalzone: Eine echte Config kann ich leider nicht hinterlegen, weil da creadentials drin sind. Aber ich gucke mir das Thema Unit-Tets jetzt auf jeden Fall mal genauer an - wollte ich eh.

          viele Grüße
          Grizzelbee

          1 Reply Last reply
          0
          • OliverIOO OliverIO

            hm, da ich die tests bei mir alle einzeln anstosse:

            npm run test:package
            npm run test:unit
            npm run test:integration

            ist das der fehler, der bei mir beim 3.Test (integration) kommt, wenn ich vergesse
            vorher den iobroker zu stoppen. die anderen beiden können mit laufendem iobroker durchgeführt werden.
            Beim integration-test wird ein zusätzlicher iobroker gestartet und das funktioniert natürlich nicht, weil da die selben ports schon alle belegt sind.

            also einfach vor dem test
            iobroker stop eingeben

            ein anpassen meiner testdateien war bei mir nie nötig. sind alle noch standard

            AlCalzoneA Offline
            AlCalzoneA Offline
            AlCalzone
            Developer
            wrote on last edited by
            #5

            @OliverIO sagte in npm test failed:

            ist das der fehler, der bei mir beim 3.Test (integration) kommt, wenn ich vergesse
            vorher den iobroker zu stoppen

            Je Adapter sollte das nur einmal nötig sein, da für die Tests ein temporärer JS-Controller in einem temporären Verzeichnis installiert wird. Fürs einmalige Einrichten müssen die Standard-Ports (9000, 9001) frei sein. Danach laufen die Tests mit dem umkonfigurierten Controller auf einem anderen Port.

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

            1 Reply Last reply
            0
            • GrizzelbeeG Offline
              GrizzelbeeG Offline
              Grizzelbee
              Developer
              wrote on last edited by
              #6

              Guten Morgen!

              Ich brauche bitte noch einmal Hilfe mit diesem Thema. 😞
              Ich habe das Problem mit dem Exitcode 11 schon wieder:

                Test the adapter (in a mocked environment)
                  √ The adapter starts in normal mode (112ms)
                  1) The adapter starts in normal mode
              
              
                37 passing (28s)
                1 failing
              
                1) Test the adapter (in a mocked environment)
                     The adapter starts in normal mode:
                   Uncaught Error: Adapter.terminate was called (exit code 11): Invalid Configuration.
                    at AdapterConstructor.terminate (node_modules\@iobroker\testing\build\tests\unit\mocks\mockAdapter.js:359:25)
                    at Object.invoke (node_modules\sinon\lib\sinon\behavior.js:163:32)
                    at AdapterConstructor.functionStub (node_modules\sinon\lib\sinon\stub.js:39:43)
                    at Function.invoke (node_modules\sinon\lib\sinon\proxy-invoke.js:47:47)
                    at AdapterConstructor.functionStub [as terminate] (node_modules\sinon\lib\sinon\proxy.js:214:26)
                    at main (main.js:722:17)
                    at adapter.getForeignObject (main.js:102:17)
                    at AdapterConstructor.getForeignObject (node_modules\@iobroker\testing\build\tests\unit\mocks\mockAdapter.js:170:17)
                    at Object.invoke (node_modules\sinon\lib\sinon\behavior.js:163:32)
                    at AdapterConstructor.functionStub (node_modules\sinon\lib\sinon\stub.js:39:43)
                    at Function.invoke (node_modules\sinon\lib\sinon\proxy-invoke.js:47:47)
                    at AdapterConstructor.functionStub [as getForeignObject] (node_modules\sinon\lib\sinon\proxy.js:214:26)
                    at AdapterConstructor.ready (main.js:91:21)
                    at Object.<anonymous> (node_modules\@iobroker\testing\build\tests\unit\harness\startMockAdapter.js:97:45)
                    at Generator.next (<anonymous>)
                    at C:\Users\hanjo\WebstormProjects\ioBroker.mielecloudservice\node_modules\@iobroker\testing\build\tests\unit\harness\startMockAdapter.js:9:71
                    at new Promise (<anonymous>)
                    at __awaiter (node_modules\@iobroker\testing\build\tests\unit\harness\startMockAdapter.js:5:12)
                    at Object.startMockAdapter (node_modules\@iobroker\testing\build\tests\unit\harness\startMockAdapter.js:37:12)
                    at Context.<anonymous> (node_modules\@iobroker\testing\build\tests\unit\index.js:66:83)
                    at Generator.next (<anonymous>)
                    at C:\Users\hanjo\WebstormProjects\ioBroker.mielecloudservice\node_modules\@iobroker\testing\build\tests\unit\index.js:10:71
                    at new Promise (<anonymous>)
                    at __awaiter (node_modules\@iobroker\testing\build\tests\unit\index.js:6:12)
                    at Context.<anonymous> (node_modules\@iobroker\testing\build\tests\unit\index.js:62:20)
              
              
              
              npm ERR! Test failed.  See above for more details.
              

              Ich verstehe aber nicht warum!

              Sowohl in der Integration.js als auch in der unit.js habe den exitcode explizit erlaubt. Das hat ja auch eine ganze Zeit lang problemlos funktioniert.

              610fb274-8bfd-4f14-af0d-2c4b4ce46a85-grafik.png

              5e4e4419-3dc6-4c67-b369-30d8baded102-grafik.png

              Kann da bitte noch einmal jemand drüber gucken und mir einen Tipp geben? Ich stehe gerade echt auf dem Schlauch.

              Vielen Dank im Voraus und viele Grüße
              Grizzelbee

              AlCalzoneA 1 Reply Last reply
              0
              • GrizzelbeeG Grizzelbee

                Guten Morgen!

                Ich brauche bitte noch einmal Hilfe mit diesem Thema. 😞
                Ich habe das Problem mit dem Exitcode 11 schon wieder:

                  Test the adapter (in a mocked environment)
                    √ The adapter starts in normal mode (112ms)
                    1) The adapter starts in normal mode
                
                
                  37 passing (28s)
                  1 failing
                
                  1) Test the adapter (in a mocked environment)
                       The adapter starts in normal mode:
                     Uncaught Error: Adapter.terminate was called (exit code 11): Invalid Configuration.
                      at AdapterConstructor.terminate (node_modules\@iobroker\testing\build\tests\unit\mocks\mockAdapter.js:359:25)
                      at Object.invoke (node_modules\sinon\lib\sinon\behavior.js:163:32)
                      at AdapterConstructor.functionStub (node_modules\sinon\lib\sinon\stub.js:39:43)
                      at Function.invoke (node_modules\sinon\lib\sinon\proxy-invoke.js:47:47)
                      at AdapterConstructor.functionStub [as terminate] (node_modules\sinon\lib\sinon\proxy.js:214:26)
                      at main (main.js:722:17)
                      at adapter.getForeignObject (main.js:102:17)
                      at AdapterConstructor.getForeignObject (node_modules\@iobroker\testing\build\tests\unit\mocks\mockAdapter.js:170:17)
                      at Object.invoke (node_modules\sinon\lib\sinon\behavior.js:163:32)
                      at AdapterConstructor.functionStub (node_modules\sinon\lib\sinon\stub.js:39:43)
                      at Function.invoke (node_modules\sinon\lib\sinon\proxy-invoke.js:47:47)
                      at AdapterConstructor.functionStub [as getForeignObject] (node_modules\sinon\lib\sinon\proxy.js:214:26)
                      at AdapterConstructor.ready (main.js:91:21)
                      at Object.<anonymous> (node_modules\@iobroker\testing\build\tests\unit\harness\startMockAdapter.js:97:45)
                      at Generator.next (<anonymous>)
                      at C:\Users\hanjo\WebstormProjects\ioBroker.mielecloudservice\node_modules\@iobroker\testing\build\tests\unit\harness\startMockAdapter.js:9:71
                      at new Promise (<anonymous>)
                      at __awaiter (node_modules\@iobroker\testing\build\tests\unit\harness\startMockAdapter.js:5:12)
                      at Object.startMockAdapter (node_modules\@iobroker\testing\build\tests\unit\harness\startMockAdapter.js:37:12)
                      at Context.<anonymous> (node_modules\@iobroker\testing\build\tests\unit\index.js:66:83)
                      at Generator.next (<anonymous>)
                      at C:\Users\hanjo\WebstormProjects\ioBroker.mielecloudservice\node_modules\@iobroker\testing\build\tests\unit\index.js:10:71
                      at new Promise (<anonymous>)
                      at __awaiter (node_modules\@iobroker\testing\build\tests\unit\index.js:6:12)
                      at Context.<anonymous> (node_modules\@iobroker\testing\build\tests\unit\index.js:62:20)
                
                
                
                npm ERR! Test failed.  See above for more details.
                

                Ich verstehe aber nicht warum!

                Sowohl in der Integration.js als auch in der unit.js habe den exitcode explizit erlaubt. Das hat ja auch eine ganze Zeit lang problemlos funktioniert.

                610fb274-8bfd-4f14-af0d-2c4b4ce46a85-grafik.png

                5e4e4419-3dc6-4c67-b369-30d8baded102-grafik.png

                Kann da bitte noch einmal jemand drüber gucken und mir einen Tipp geben? Ich stehe gerade echt auf dem Schlauch.

                Vielen Dank im Voraus und viele Grüße
                Grizzelbee

                AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                wrote on last edited by
                #7

                @Grizzelbee Hast du mal einen Link zu nem Repo, wo ich das testen könnte?

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

                GrizzelbeeG 1 Reply Last reply
                0
                • AlCalzoneA AlCalzone

                  @Grizzelbee Hast du mal einen Link zu nem Repo, wo ich das testen könnte?

                  GrizzelbeeG Offline
                  GrizzelbeeG Offline
                  Grizzelbee
                  Developer
                  wrote on last edited by
                  #8

                  @AlCalzone
                  Natürlich! Gerne. 🙂
                  https://github.com/Grizzelbee/ioBroker.mielecloudservice/tree/Development_V1.2.2

                  Am besten tatsächlich den 1.2.2 Branch. Dann könnte ich den Fix dort unterbringen und anschließend mergen. Am Ende ist mir aber jede Lösung recht.

                  AlCalzoneA 1 Reply Last reply
                  0
                  • GrizzelbeeG Grizzelbee

                    @AlCalzone
                    Natürlich! Gerne. 🙂
                    https://github.com/Grizzelbee/ioBroker.mielecloudservice/tree/Development_V1.2.2

                    Am besten tatsächlich den 1.2.2 Branch. Dann könnte ich den Fix dort unterbringen und anschließend mergen. Am Ende ist mir aber jede Lösung recht.

                    AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    wrote on last edited by
                    #9

                    @Grizzelbee Ehrliche Antwort: Lass den Unit-Test weg, also nicht npm run test:unit als Teil des Testings ausführen.

                    Das Problem ist folgendes: deine on("ready")-Methode ruft eine Funktion mit callback auf, und darin wird der Prozess beendet (terminate aufgerufen). In Unit-Tests wird ein beendeter Prozess über Errors abgebildet, das geht im vorliegenden Fall einfach nicht sauber, weil der Error erst nach dem durchgelaufenen Test aufschlägt.

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

                    GrizzelbeeG 1 Reply Last reply
                    0
                    • AlCalzoneA AlCalzone

                      @Grizzelbee Ehrliche Antwort: Lass den Unit-Test weg, also nicht npm run test:unit als Teil des Testings ausführen.

                      Das Problem ist folgendes: deine on("ready")-Methode ruft eine Funktion mit callback auf, und darin wird der Prozess beendet (terminate aufgerufen). In Unit-Tests wird ein beendeter Prozess über Errors abgebildet, das geht im vorliegenden Fall einfach nicht sauber, weil der Error erst nach dem durchgelaufenen Test aufschlägt.

                      GrizzelbeeG Offline
                      GrizzelbeeG Offline
                      Grizzelbee
                      Developer
                      wrote on last edited by
                      #10

                      @AlCalzone
                      Herzlichen Dank für deine Mühe und vor allem die ausführliche Anrtwort - sie hat mich in die Lage versetzt die Lösung zu finden, die ich jetzt implementiert habe:
                      Da es mir nicht richtig behagt die Unittests einfach zu entsorgen (ich möchte die ja schon noch implementieren) und Du gesagt hast, das das eigentliche Problem die Callback in der main() ist (die ich allerdings nicht als solche erkenne) habe ich jetzt die
                      Prüfung der Config, die ja das terminate auslöst aus der main() herausgenommen und in die on(Ready) verlagert.
                      Das bestätigt deine Aussage und die Tests funktierien. 🙂

                      Danke noch einmal und viele Grüße
                      Grizzelbee

                      AlCalzoneA 1 Reply Last reply
                      0
                      • GrizzelbeeG Grizzelbee

                        @AlCalzone
                        Herzlichen Dank für deine Mühe und vor allem die ausführliche Anrtwort - sie hat mich in die Lage versetzt die Lösung zu finden, die ich jetzt implementiert habe:
                        Da es mir nicht richtig behagt die Unittests einfach zu entsorgen (ich möchte die ja schon noch implementieren) und Du gesagt hast, das das eigentliche Problem die Callback in der main() ist (die ich allerdings nicht als solche erkenne) habe ich jetzt die
                        Prüfung der Config, die ja das terminate auslöst aus der main() herausgenommen und in die on(Ready) verlagert.
                        Das bestätigt deine Aussage und die Tests funktierien. 🙂

                        Danke noch einmal und viele Grüße
                        Grizzelbee

                        AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        wrote on last edited by
                        #11

                        @Grizzelbee wichtiger sind die Integration tests, die einen echten js-controller verwenden. Code verbiegen, um den speziellen Anforderungen der unit tests gerecht zu werden ist imo unnötig.

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

                        GrizzelbeeG 1 Reply Last reply
                        0
                        • AlCalzoneA AlCalzone

                          @Grizzelbee wichtiger sind die Integration tests, die einen echten js-controller verwenden. Code verbiegen, um den speziellen Anforderungen der unit tests gerecht zu werden ist imo unnötig.

                          GrizzelbeeG Offline
                          GrizzelbeeG Offline
                          Grizzelbee
                          Developer
                          wrote on last edited by
                          #12

                          @AlCalzone
                          Da gebe ich dir grundsätzlich recht.
                          Im vorliegenden Fall finde ich den Umbau aber sogar besser, weil ich jetzt vor dem Aufruf von Main() prüfe ob überhaupt die Voraussetzungen dafür erfüllt sind. Meiner Meinung nach ist der Code dadurch besser geworden.

                          Viele Grüße
                          Grizzelbee

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          434

                          Online

                          32.4k

                          Users

                          81.4k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe