Ein Problem mit mutation testing besteht darin, dass es langsam ist, da standardmäßig ein vollständiger Testlauf (entweder eine Testdatei oder eine Reihe von Testdateien) für jede generierte Mutation ausgeführt wird.Fehlende Einheitentests für Mutationstests
Eine Möglichkeit, Mutationstests schneller durchzuführen, wäre, den Testlauf für eine bestimmte Mutante zu stoppen, sobald ein einziger Fehler aufgetreten ist (aber nur während des Mutationstests). Noch besser wäre es für den Mutationstester, sich daran zu erinnern, was der erste Test war, um die letzte Mutante zu töten, und diese zuerst der nächsten Mutante zu geben. Gibt es irgendwas in Ruby, das eines dieser Dinge tut, oder ist es meine beste Idee, mit Affen zu flicken?
(Ja, ich weiß Unit-Tests sollte schnell sein. Und all die nichtbestandenen Tests zeigt ist nützlich, außerhalb der Mutationstests, da es hilft, identifizieren Sie nicht nur, dass etwas falsch ist, aber genau feststellen, wo es schief geht)
Edit: Ich benutze derzeit mit Test/Unit heckle. Wenn es dem Test/der Einheit nicht möglich ist, sich zu erinnern, welche Tests zwischen den Laufversuchen fehlschlagen, könnten sich Zwischenrufe oder etwas Laufendes Zwischenspucken daran erinnern.
und Sie führen diese Tests wie ...? –