Che cos'è un dominio di strumenti di test automatici come ScalaCheck?

2

Ho visto non molti esempi di test con strumenti automatici, cioè serializzazione / deserializzazione di JSON (che è stato accoppiato nel modo seguente: val actual = deserialize(serialize(string)) ), controllando che l'accodamento dei simboli alla stringa fosse eseguito correttamente (e questo è imbecille, perché è estremamente difficile commettere un errore in operazioni così semplici).

Puoi fornire esempi veramente utili / casi d'uso per test automatici con ScalaCheck che sveleranno i suoi vantaggi? Vuole essere usato principalmente in stile appaiato (funzioni diritte / inverse come nell'esempio JSON sopra)?

    
posta om-nom-nom 18.08.2011 - 19:44
fonte

1 risposta

3

Puoi dare un'occhiata al test che Scala stessa sta usando al momento.

Per essere onesti, non avevo mai visto il tipo di test abbinato che hai menzionato. L'ambito di ScalaCheck è piuttosto semplice: se c'è una regola, proprietà, invariante o condizionale che il tuo codice deve osservare, allora ScalaCheck è perfetto per questo.

Lo dirò al contrario per renderlo ancora più chiaro. L'unico posto dove non usi ScalaCheck è per il codice che è composto esclusivamente di eccezioni - cioè, non esiste una regola che si applichi agli input che ti dirà qualcosa sugli output.

Ci sono pochissimi posti in cui posso pensare dove potrebbe accadere una cosa del genere.

    
risposta data 19.08.2011 - 05:53
fonte

Leggi altre domande sui tag