Come per il titolo, mi chiedo se è possibile fornire "assunzioni" a Scalatest quando si definisce un particolare caso di test. I presupposti in questo contesto sarebbero precondizioni per un test, in modo tale che se l'assunto fosse valutato come falso, il test sarebbe saltato anziché eseguito (e gestito di conseguenza dai corridori).Scalatest ha qualche supporto per le ipotesi?
In questo caso particolare, sto pensando di dipendenze tra i test - quindi ci potrebbe essere un test di base che convalida se un metodo restituisce nulla, seguito da test successivi che forare la specificità della risposta. Se il primo test fallisce, preferirei che quest'ultimo test fosse contrassegnato come "non eseguibile" in qualche modo, piuttosto che fallire.
Detto questo posso immaginare di utilizzare questo in futuro per definire alcune precondizioni non connesse (come il disco rigido deve avere almeno 20 MB di spazio libero), quindi se c'è un modo generale di skippin un test in fase di esecuzione (al contrario di usando ignore
o pending
) Preferirei sentirlo.
La sintassi specializzata è la benvenuta, anche se è necessario eseguire manualmente un certo tipo di eccezione.
Come si desidera che il test sia riferito? Come ignorato, in sospeso, successo, fallimento? –
Anche questo mi piacerebbe. Il caso d'uso sta compilando un database con materiale di prova; se ciò fallisce, i test (non tutti) che verrebbero letti dal database non dovrebbero essere eseguiti. Preferirei riportarli come "ignorati". – akauppi