Stato di uscita di QuickCheck sui guasti e integrazione della cabala
-
12-11-2019 - |
Domanda
Sto cercando di capire come integrare alcuni test di controllo rapido con Cabala. Questo GIST suggerisce che il quickCheck
La funzione restituisce lo stato diverso da zero al fallimento, ma non sto ottenendo quel comportamento, quindi usando Cabala exitcode-stdio-1.0
Il tipo di test-suite non sembra funzionare per me se non voglio chiamare error
Tutti i miei test.
La cabala guida utente menziona anche a detailed-1.0
Test-Suite, ma afaict questo non esiste ancora. È ancora così?
Sembra da risposte come Questo che molte persone stanno usando il Pacchetto test-framework. È eccessivo per me, ma è quello che dovrei usare?
Sono rimasto insoddisfatto da questa situazione.
Versioni delle cose che sto usando:
cabal-install version 0.10.2
using version 1.10.1.0 of the Cabal library
QuickCheck-2.4.1.1
Soluzione
Guardando quickCheck
Implementazione, in effetti non esce mai al programma. Tuttavia, puoi implementare facilmente questo comportamento usando quickCheckResult
:
import Control.Monad
import Test.QuickCheck
import Test.QuickCheck.Test
import System.Exit
main :: IO ()
main = do
result <- quickCheckResult prop
unless (isSuccess result) exitFailure
La mia comprensione è quella detailed-1.0
non è ancora considerato pronto per l'uso generale, e quello exitcode-stdio-1.0
è ancora la soluzione di test consigliata per ora.
Altri suggerimenti
Ho usato Test-Framework nell'ultima versione del mio Decimale pacchetto. Non era eccessivo; Ha fatto proprio quello che voleva. Dai un'occhiata al Codice sorgente completo Se vuoi un esempio di come usarlo.