Ich würde argumentieren, dass der fehlerhafte Test hinzugefügt werden sollte, aber nicht explizit als "fehlerhafter Test".
Wie @BenVoigt in seiner Antwort hervorhebt , muss ein fehlgeschlagener Test nicht unbedingt "den Build brechen". Ich denke, die Terminologie kann von Team zu Team variieren, aber der Code wird immer noch kompiliert und das Produkt kann immer noch mit einem fehlerhaften Test ausgeliefert werden.
Was Sie sich in dieser Situation fragen sollten, ist,
Was sollen die Tests leisten?
Wenn die Tests nur dazu dienen, dass sich alle im Hinblick auf den Code wohl fühlen, ist das Hinzufügen eines fehlgeschlagenen Tests, damit sich alle im Hinblick auf den Code schlecht fühlen, nicht produktiv. Aber wie produktiv sind die Tests überhaupt?
Ich behaupte, dass die Tests die geschäftlichen Anforderungen widerspiegeln sollten . Wenn also ein "Fehler" gefunden wurde, der darauf hinweist, dass eine Anforderung nicht ordnungsgemäß erfüllt wurde, ist dies auch ein Hinweis darauf, dass die Tests die Geschäftsanforderungen nicht ordnungsgemäß oder nicht vollständig widerspiegeln.
Das ist der Fehler, der zuerst behoben werden muss. Sie "fügen keinen fehlgeschlagenen Test hinzu". Sie korrigieren die Tests, um die Geschäftsanforderungen genauer widerzuspiegeln. Wenn der Code diese Tests dann nicht besteht, ist das eine gute Sache. Es bedeutet, dass die Tests ihren Job machen.
Die Priorität bei der Festlegung des Codes ist vom Unternehmen zu bestimmen. Aber kann diese Priorität wirklich bestimmt werden, bis die Tests festgelegt sind? Das Unternehmen sollte mit dem Wissen ausgestattet sein, was genau scheitert, wie es scheitert und warum es scheitert, um Prioritätsentscheidungen zu treffen. Die Tests sollten dies anzeigen.
Tests zu haben, die nicht vollständig bestanden werden, ist keine schlechte Sache. Es wird ein großes Artefakt bekannter Probleme erstellt, das priorisiert und entsprechend behandelt werden muss. Es ist jedoch ein Problem, Tests zu haben, die nicht vollständig getestet werden . Es stellt den Wert der Tests selbst in Frage.
Um es anders auszudrücken ... Der Build ist bereits kaputt. Sie entscheiden lediglich, ob Sie auf diese Tatsache aufmerksam machen möchten oder nicht.