Hat pytest ein assertItemsEqual / assertCountEqual-Äquivalent?

8

unittest.TestCase hat eine assertCountEqual Methode ( assertItemsEqual in Python 2, was wohl ein besserer Name ist), der zwei iterable vergleicht und prüft, dass sie die gleiche Anzahl der gleichen Objekte enthalten, ohne Rücksicht auf ihre Reihenfolge.

Bietet Pytest etwas ähnliches? Alle offensichtlichen Alternativen (zB Aufruf von set(x) , sorted(x) oder Counter(list(x)) auf jeder Seite, wie in der Dokumentation erwähnt) funktionieren nicht, da die Dinge, die ich vergleiche, Listen von Wörterbüchern sind und Wörterbücher nicht waschbar.

    
Adam Brenecki 12.01.2017, 05:41
quelle

1 Antwort

1

pytest liefert kein assertCountEqual , aber wir können einfach nur unitest verwenden :

%Vor%

Und die Ausgabe ist auch anständig

%Vor%

Randnotiz: die Implementierung von assertCountEqual enthält für einen Zweig speziell für nicht hashbare Typen Tut ein paar Bücher und vergleicht jedes Element mit jedem anderen Element .

    
theY4Kman 29.08.2017 18:47
quelle

Tags und Links