Ich habe angefangen, an einem ziemlich großen (Multithread-) Python-Projekt mit vielen (Unit-) Tests zu arbeiten. Das wichtigste Problem dabei ist, dass für die Ausführung der Anwendung eine voreingestellte Umgebung erforderlich ist, die von einem Kontextmanager implementiert wird. Bisher haben wir eine gepatchte Version des Unit-Test-Runners verwendet, die die Tests in diesem Manager ausführen würde, aber keinen Kontextwechsel zwischen verschiedenen Testmodulen zulässt.
Sowohl Nase als auch Pytest unterstützen so etwas, weil sie Vorrichtungen mit vielen Granularitäten unterstützen. Daher versuchen wir, auf Nase oder Pytest umzusteigen. Beide Bibliotheken würden auch Tagging-Tests unterstützen und nur diese getaggten Teilmengen ausführen, was wir auch gerne tun würden.
Ich habe die Dokumentation von Nase und Pytest ein wenig durchgesehen, und soweit ich sehen kann, unterstützt der größte Teil dieser Bibliotheken im Wesentlichen dieselbe Funktionalität, außer dass sie möglicherweise anders benannt sind oder eine etwas andere Syntax erfordern. Außerdem habe ich einige kleine Unterschiede in den verfügbaren Plugins festgestellt (Nase hat Multiprozess-Unterstützung, Pytest scheint es zum Beispiel nicht zu sein)
Es scheint also, dass der Teufel im Detail steckt, was (oft zumindest) im persönlichen Geschmack bedeutet, und wir sollten uns besser für die Bibliothek entscheiden, die am besten zu unserem persönlichen Geschmack passt.
Daher möchte ich Sie um eine subjektive Argumentation bitten, warum ich mit Nase oder Pytest arbeiten sollte, um die Kombination aus Bibliothek und Community auszuwählen, die unseren Anforderungen am besten entspricht.