Mi è stato insegnato a seguire il pattern Referee Red- > Greeen- > quando esegui TDD. Ci sono state situazioni in cui questo modello non è stato tuttavia applicabile.
Ad esempio, un test per assicurarsi che un metodo di azione del controller (ASP.NET MVC) non disponga di un attributo Authorize. Poiché il test sta testando l'assenza di un attributo, passerà al primo passaggio, a meno che non venga aggiunto un attributo Authorize per far fallire il test.
Ciò che ho fatto finora durante il test dell'assenza dell'attributo Authorize è scrivere un test per questo, quindi aggiungere l'attributo Authorize solo per assicurarmi che il test funzioni effettivamente, quindi rimuovere immediatamente l'attributo Authorize.
Sto facendo qualcosa di sbagliato, o è solo così com'è; alcuni test passeranno a meno che non aggiungiamo intenzionalmente il codice per effettuare il fail e quindi rimuovere quel particolare codice?