Es sieht wie Test::Deep
wurde inspiriert von is_deeply
. Meine Frage ist, wie mache ich cmp_deeply
Teil eines Tests statt eines Tests für sich? Weil meine Liste der Tests nur 8 angibt, aber jedes Mal, wenn ich cmp_deeply
verwende, zählt es als ein Test, der meine tatsächliche Anzahl von Tests 11 macht (weil ich cmp_deeply
3 Mal anrufe), wenn ich nur 8 Funktionen habe. Ich möchte die Anzahl meiner Tests nicht erhöhen. Gibt es eine praktikablere Lösung?Wie kann ich Perls Test :: Deep :: cmp_deeply verwenden, ohne die Anzahl der Tests zu erhöhen?
Antwort
sollten Sie eq_deeply
statt:
Dies ist die gleiche wie
cmp_deeply()
außer es nur wahr oder falsch zurückgibt. Dabei spielt es keine Diagnose erstellen ...
Dies beantwortet nicht wirklich die Frage, oder? Unabhängig davon, ob eine Ausgabe erfolgt oder nicht, ist die Anzahl der Tests zwischen eq_deeply und cmp_deeply gleich. – Ether
Nein, 'eq_deeply' * gibt nur wahr oder falsch zurück. * Es meldet nichts an die Testumgebung. –
eine Reihe von Dingen gibt, die Sie tun können, aber ohne mehr über die Besonderheiten in Ihren Tests zu wissen, ist es schwierig zu wissen, welche am besten geeignet ist:
Planen Sie nicht eine bestimmte Anzahl von Tests.
use Test::More; all( cmp_deeply($got0, $expected0), cmp_deeply($got1, $expected1), cmp_deeply($got2, $expected2) ); # ... your other 7 tests done_testing(); # signals that we're all done.. exiting normally.
dynamisch bestimmen, wie viele Tests sind Lauf sind, was Sinn macht, wenn Sie einige tiefe und dynamische Struktur testen, deren Komplexität (und die Anzahl der Tests erforderlich) im Voraus nicht bekannt:
use Test::More; use Test::Deep; # perhaps this is in some sort of loop? cmp_deeply($got0, $expected0); $numTests++; cmp_deeply($got1, $expected1); $numTests++; cmp_deeply($got2, $expected2); $numTests++; # ... your other 7 tests # TAP output must be either at the beginning or end of all output plan tests => $numTests + 7; # no more tests here! exit;
- 1. Wie kann ich die Anzahl der Standardzeilen pro Seite erhöhen?
- 2. Wie kann ich die Bash-Syntax in Perls System() verwenden?
- 3. Spark: Anzahl der Partitionen erhöhen, ohne einen Shuffle zu verursachen?
- 4. Anzahl der Achsen-Ticks erhöhen
- 5. Die Anzahl der Dateideskriptoren in Linux erhöhen
- 6. Wie bekomme ich die Anzahl der von Nose durchgeführten Tests?
- 7. Wie kann ich die Genauigkeit für Perls Bignum einstellen?
- 8. Wie erkennt Google Test die Anzahl der Threads unter Linux?
- 9. Wie sollte ich Perls File :: Temp verwenden?
- 10. Wie konnte ich automatisch die Versionsnummer mit TFS-Builds erhöhen, ohne assemblyinfo zu verwenden?
- 11. Wie kann ich Perls bewährtes Dienstprogramm mitteilen, bestimmte Tests zu ignorieren?
- 12. Wie Anzahl der CPUs auf Docker erhöhen
- 13. Wie kann ich Callbacks mit Perls Text :: Document verwenden?
- 14. Wie kann ich die Scrollgeschwindigkeit erhöhen?
- 15. Wie kann ich die Prozesssubstitution der Shell in Perls System() verwenden?
- 16. Wie kann ich die Anzahl der Parameter in diesem Javascript erhöhen?
- 17. Wie SQL Query Leistung zu erhöhen, ohne die Abfrage
- 18. Wie kann ich die Anzahl der angezeigten Zeilen eines Java-Stack-Trace-Dumps erhöhen?
- 19. wie der Speicher zu erhöhen, die Gradle
- 20. Verwenden verschiedener Test-Runners für verschiedene Tests
- 21. Wie kann Perls XSUB sterben?
- 22. Wie kann ich einzelne Tests mit Test :: Class :: Load ausführen?
- 23. UI-Tests im kontinuierlichen Test verwenden
- 24. Wie kann ich die Geschwindigkeit der Implementierung von Fotofiltern erhöhen?
- 25. Wie kann ich Capybara-Sitzungen zwischen den Tests erneut verwenden?
- 26. Protractor besteht Tests ohne die Tests
- 27. Wie kann ich mehrere Bilder hochladen, ohne die Anzahl der HTML-Upload-Eingabefelder vordefinieren zu müssen?
- 28. Wie kann ich die Tabulatorvervollständigung in Perls Term :: Shell anpassen?
- 29. Android Studio - erhöhen Sie die Anzahl der Undos
- 30. Elasticache - Erhöhen Sie die Anzahl der Knoten für die Replikation
Warum möchten Sie Ihre Testzählung nicht erhöhen? Sie erhöhen bereits Ihre Anzahl von Tests, wenn Sie das möchten oder nicht. –