Ich versuche, eine vollständige und saubere Art und Weise der Prüfung Python-Pakete zu implementieren, eine, die die Folowing Anforderungen passen würde:Lösen der Verwirrung durch zu viele Möglichkeiten, erzeugt in Python laufen Unittest
- ausführen Tests auf saubere Maschinen ohne sie zu der Einrichtung (virtualenv)
- sammeln Ergebnisse von mehrere Plattformen
- Ergebnisse von Interpreten mehrere python
- co sammeln de Abdeckung (Zusammenführen von Ergebnissen aus der mehrfachen Ausführung in einen einzigen Bericht)
- in der Lage sein, XML-Code Berichterstattung Bericht zu generieren, so dass das Build-System verfolgen kann, wie sich diese im Laufe der Zeit ändern.
- Lage disable Tests auf der Plattform basierend
- Lauf vor den Tests mehrere Befehle zu ermöglichen, wie PEP8 oder autopep8
- Lauf-Tests parallel.
verwenden ich mehrere Ansätze: nose + pytest
, tox + pytest
aber vor kurzem entdeckt, dass pytest
Lage sein sollte, die meisten Sachen zu tun.
Das Hauptproblem ist, dass ich keinen klaren Vergleich darüber finden konnte, wann es besser wäre, den einen oder anderen Ansatz zu verwenden.
Kann jemand diese erklären und einige Anwendungsfälle oder Einschränkungen dieser Konfigurationen geben? ... nur um es klar zu machen, wenn man sich auf den einen oder anderen Weg begibt.
Am Ende hat ich diese Optionen haben will:
quicktest
- lokal die Tests ausführen, ein Muss vor jedem commmitfulltest
- in vollen Tests, so dass sie über alle verfügbaren Plattformen ausgeführt werden, ein Muss bevor eine neue Version
Wenn pytest alle Ihre Anforderungen erfüllt, warum sollten Sie eine andere Konfiguration in Betracht ziehen? Sicherlich wäre das am einfachsten. – pfctdayelise