Haskell Cabal QuickCheck Integration

8

Ich habe versucht, mit cabal-install meine haskell-Projekte zu erstellen und, was noch wichtiger ist, zu testen, ein wenig ähnlich wie Maven in Java-Projekten verwendet wird, hauptsächlich weil es ein guter Weg zu sein scheint auch in Jenkins oder ein ci oder so zu integrieren, und es scheint in einem Sinne sehr zuverlässig zu sein, dass Sie keine Entwicklungsumgebung brauchen und so eingerichtet, um zu überprüfen und zu bestätigen, ob Code kompiliert und korrekt ist oder nicht.

Wie auch immer, ich verwende QuickCheck und Hunit dafür. In einem anderen Beitrag hier im Stack tauschen ich eine gute Möglichkeit gefunden, HUnit und cabal zu integrieren, indem Sie den Funktionstest in Distribution.TestSuite.HUnit verwenden, um ein exposed tests array in meinem Testmodul zu erstellen. Funktioniert.

Ich habe versucht, den gleichen Stil der Einrichtung mit Quickcheck,

zu tun %Vor%

Ich möchte, dass dieser Test fehlschlägt.

Die Cabal-Datei, die ich mit der Hunit-Einrichtung eingerichtet habe, mit laufenden Hunit-Tests und fehlgeschlagen oder nicht fehlgeschlagen, wie sie sollten. Wenn ich das gleiche Setup verwende, um Quickcheck-Tests durchzuführen, sagt Cabal, dass es tatsächlich eine Testsuite gefunden hat, aber keine Tests darin enthalten sind. Ich habe den Ansatz versucht, der auf der erwähnt wird Seite von Distribution.TestSuite.QuickCheck2, aber dort scheinen sie nicht zu erwähnen, wie man den Test aufdeckt und ich schaffe es nicht, diesen Lauf zu machen. Ich bin jetzt ein wenig ratlos, ich kann diese Quickcheck-Tests mit Quickcheck selbst durchführen, aber nicht mit Cabal und ich hätte dies gerne, um alle meine Tests und Code schnell verifizieren und in einem Jenkins oder so verwenden zu können. Jemand eine Idee?

Ich habe versucht, alle Informationen zu geben, die ich für nötig halte, ohne die Dinge zu komplizieren, also habe ich nicht die komplette Cabal-Datei hochgeladen und so weiter, wenn das nötig sein sollte, werde ich das natürlich tun. Ich habe ziemlich viele ähnliche Beiträge gefunden, aber die meisten davon sind auf etwas anderes als detailliert-0.9 zurückzuführen, was sehr schade wäre, da es sehr gut mit Hunit als Setup funktioniert und ich möchte sowohl Hunit als auch QuickCheck verwenden auf die gleiche Weise natürlich, vorzugsweise ausgesetzt ein Test-Array mit Hunit und QuickCheck-Tests gleichermaßen.

Kasper

    
Kasper 23.02.2013, 10:04
quelle

1 Antwort

2

Ich stimme itsurdy zu: Ich würde definitiv auf test-framework + test-framework-quickcheck2 gehen. Sehen Sie sich dieses Beispiel an, um sie in einem Projekt zusammen zu verwenden. Beachten Sie die Eigenschaften prop_* .

Sie können auch das Projekt haskell-minecraft-tool auschecken, um zu sehen, wie die Testausgabe aussieht. Führen Sie die Tests mit

aus %Vor%

Sehen Sie sich hier die Datei .cabal an, um zu sehen, welche Pakete benötigt werden. Nämlich sind dies test-framework , test-framework-quickcheck2 , QuickCheck .

    
fatuhoku 21.06.2013 03:08
quelle

Tags und Links