Im Moment zu laufen, wenn Minitest verwenden, wenn Sie das tun:Minitest: Programmgesteuertes Zugangsnamen und Zeit in Anspruch nahm ein Test
bundle exec rake TESTOPTS='--verbose'
Sie eine Ausgabe wie diese:
Text you typed in the describe#test_0001_test description = 0.11 s = .
Text you typed in the describe#test_0003_another test description = 0.10 s = .
...etc.
Ich möchte programmatisch Zugriff haben, damit ich die langsamsten Tests auswählen, sie nach der Ausführungszeit sortieren und sie in jedem gewünschten Format ausgeben kann. Idealerweise würde ich dafür eine neue Rake-Aufgabe definieren und dann so etwas ausführen:
bundle exec rake mytask
oder so.
Allerdings kann ich scheinbar online nichts finden, um auf diese Informationen programmgesteuert zuzugreifen. Ich habe nach benutzerdefinierten Reportern gesucht, aber anscheinend musst du Minitest dafür affektieren, und das möchte ich nicht tun. Die andere Möglichkeit ist, das minitest-reporters
Juwel zu installieren, aber ich will und brauche nicht all diese Funktionalität, was ich tun möchte, ist sehr einfach. Ich habe auch den Code im Minitest-Repo gelesen, konnte aber nicht sagen, was ich davon erben sollte, wenn ich meine eigene Klasse erstellen wollte und auf was ich zugreifen sollte, um die Laufzeit und den Namen von der Test.
Gibt es eine Möglichkeit, programmgesteuert auf diese Informationen zuzugreifen? Zum Beispiel Zugriff auf die Berichte von Minitest, sobald alle Tests beendet sind? Wie machst du es, diejenigen von euch, die benutzerdefinierte Reporter schreiben, ohne ein Juwel oder Affen-patchen MiniTest? Ich denke, das sollte eine leichte Sache sein.