Co to znamená
Zaznamenané přeskočení je test, který odmítl běžet: nic neměřil, takže nic nedokazuje, a nic ani neselhalo. Tvrzení, které dokazuje, se čte not_run a jeho detail říká, že test odmítl běžet. Zaručené tvrzení, které se o něj opírá, je stále nález — záruka, kterou nic aktuálně nepodporuje — a nález říká, že test odmítl, ne že nebyl nikdy zaznamenán žádný běh.
Test, který skončil chybou nebo který hranice zastavila před dokončením, neodmítl běžet. Čte se failing a detail říká, který případ to je.
Princip
evidence::freshness před jakýmkoli porovnáním převede zaznamenaný výsledek: přeskočení je not_run s detailem „test odmítl běžet“; selhání, vypršení času a chyba jsou failing s „failed“, „timed out“ a „the harness could not run it“. Slovo výsledku, které záznamník nedokáže klasifikovat, se zaznamená jako chyba, takže se čte jako failing a nikdy jako úspěch.
Důvod nálezu čte detail úsudku, takže přeskočená záruka se hlásí jako „tvrzení zaručuje chování, jehož test odmítl běžet“. Zpráva o pravidlech používá tutéž funkci, takže pravidlo, jehož test byl přeskočen, se čte not run, ne failing.
Jak to vidět
majordomus evidence show --state not_run --format json | jq '.claims[] | {id, detail}'
majordomus evidence show --findings
bash test/run.sh 502_evidence_is_judged_at_the_presented_revision
Případ zaznamená přeskočení a ověří not_run, detail a důvod nálezu, potom zaznamená slovo výsledku, které nikdo neumí zařadit, a ověří failing.
Co nepokrývá
Detail je pevná věta „test odmítl běžet“. Důvod, který uvedl sám test, se dosud do hlavní knihy nezaznamenává, takže jej nelze zobrazit.
Přeskočení není průchod. Záruka, jejíž jediný zaznamenaný běh je přeskočení, zůstává nálezem; toto tvrzení mění, co nález říká, ne zda existuje.
Proč existuje
Každý výsledek jiný než úspěch se dříve četl jako failing, takže test, který odmítl běžet na stroji bez své předpodmínky, byl hlášen jako rozbité chování. To je falešný nález a falešný nález učí čtenáře nálezy ignorovat. Opačná chyba — číst přeskočení jako úspěch — by byla horší, takže přeskočení je umístěno přesně tam, kam patří: absence důkazu, jmenovaná jako taková.