2016-12-22 1 views
0

Ich habe derzeit ein Modul, das in verschiedenen Szenarien getestet werden muss.Ist es akzeptabel, Tests zu erstellen, die auf docker für ein node.js-Modul basieren?

Aber um die Tests zu verbessern, habe ich eine Menge Dateien kopieren und child-process Execs zu tun.

Vielleicht wäre Docker eine gute Lösung, um die Tests durchzuführen, aber dies würde eine Abhängigkeit von Docker hinzufügen.

Auch ich habe Pakete für solche Szenarien bisher nicht auf Docker verlassen gesehen.

Also für ein npm Paket, wäre es akzeptabel, ein Paket mit Tests zu veröffentlichen, die auf docker basieren?

Antwort

1

Ich würde zuerst über Ihre Zielgruppe nachdenken - Wie wahrscheinlich ist es, dass Benutzer, die Ihr Modul herunterladen, bereits Docker installiert haben?

Wenn Ihr Modul bereits Docker-bezogen ist, wird davon ausgegangen, dass die meisten Benutzer bereits über Docker verfügen. Wenn es ein Util für die Handhabung von React-Routen ist, wahrscheinlich nicht.

Sie sollten auch die Auswirkungen von nicht testen bestimmte schwierig zu testenden Funktionen vs die Schwierigkeit oder Komplexität durch ihre Tests erstellt.

Für die überwiegende Mehrheit der Leute, die npm-Module verwenden, führen sie selten die Tests überhaupt durch. Lauftests sind für Leute reserviert, die aktiv Module entwickeln und dazu beitragen möchten.

Ein gängiger Ansatz, der zu Ihrem Problem passt, ist, das Docker-Setup und die Tests in das Projekt aufzunehmen, sie jedoch vom eigentlichen Modul auszuschließen. In Ihrem package.json für das Modul können Sie eine files Eigenschaft einschließen, die defines which files should actually be included when publishing the module.

Mit diesem Ansatz können Sie Tests so einrichten und ausführen, wie Sie möchten - und für hilfreiche Mitwirkende zur Verfügung stehen, wenn sie das möchten - aber nicht für die täglichen Benutzer mit zusätzlichen Einstellungen belastet werden brauchen.

+0

Die Dateieigenschaft könnte tatsächlich beim Säubern der Verteilung helfen. – Coyote

Verwandte Themen