Ich versuche QuickCheck nach einer anderen Antwort zu verwenden. Ich teste so:
%Vor% Dann lade ich es in winGHCI und rufe check
und check2
auf. Ich bekomme
was ich denke, dass es vernünftig ist. Allerdings bekomme ich das von check2
Ich bin verwirrt, egal wie ich die last'
-Funktion ändere, sogar falsch, quickCheckAll
gibt immer True zurück.
Was ist falsch an meinem Code? Wie kann ich das beheben?
Aus der Test.QuickCheck.All
Dokumentation:
Um
hinzu %Vor%quickCheckAll
zu verwenden, fügen Sie Ihrem Modul eine Definition in der Formund dann
runTests
ausführen.Hinweis: Das bizarre
return []
im obigen Beispiel wird auf GHC 7.8 benötigt; Ohne es wirdquickCheckAll
keine der Eigenschaften finden können.
Hinzufügen von return []
, bevor Ihr check
es für mich funktioniert.
Um quickCheckAll zu verwenden, benötigen Sie eine Funktion, die lautet:
return []
runTests = $quickCheckAll
Der andere Kommentar erwähnt dies, weist aber nicht darauf hin, dass er immer wahr zurückgibt, wenn sich die Funktion nicht unter all Ihren quickCheck-Funktionen befindet!
Tags und Links haskell unit-testing quickcheck