Wie ist die normale Struktur eines Python-Open-Source-Projekts und wie werden die Tests am besten ausgeführt? [geschlossen]

9

Ich habe einen Code geschrieben, den ich gerne teilen möchte, und ich möchte die Best Practices bei der Erstellung / Pflege seiner Struktur befolgen. Ich werde den Code auf BitBucket hosten, und jetzt denke ich darüber nach, wie ich es organisieren soll. Ist das eine gute Struktur?

%Vor%

Also, das wird die Quelle in lib haben, und die Tests im Test. Ist das in Python-Projekten so? Dies ist die Struktur, die ich am häufigsten mit Ruby-Projekten verwendet habe. Wenn ich die Komponententests durchführe, wird es als gute Praxis angesehen, es so zu machen:

%Vor%     
Geo 11.06.2011, 23:42
quelle

1 Antwort

1

Der Ansatz, den ich mir gefallen habe, ist folgender:

  • Verwenden Sie distutils und erstellen Sie eine setup.py-Datei. (Dies ist meistens nützlich wenn Sie viele Erweiterungsklassen haben). Dadurch können Sie das installieren Modul systemweit oder in einem virtualenv-Verzeichnis.
  • Wenn Sie ernsthafte Tests haben wollen, aber auf der lockeren Seite der Dinge bleiben wollen, doctest ist was Sie wollen, weil es als "nackte" Dokumentation verdoppeln kann (wenn Sie die Tests dokumentieren und einige Kommentare dazu beifügen, was es tut). Sie können Doctest verwenden, um Tests in den Docstrings Ihres Codes zu verwenden behalte die Tests in einigen separaten .txt-Dateien.

Sie können doctest integrieren, indem Sie den Befehl setup mit einem entsprechenden cmdclass=... -Eintrag in der Datei setup.py erweitern. Siehe dieses Beispiel (CouchDB-Einrichtung) für eine Lösung, die Tests in setup.py integriert. (Es verwendet separate Dateien, die habe sowohl die Tests als auch die eigentliche Dokumentation, was auch eine Möglichkeit ist).

    
Yannick Versley 11.06.2011 23:53
quelle