La fonction verboseCheck
de QuickCheck 1 semble être absent dans QuickCheck 2 (ou du moins, je ne le trouve pas). Existe-t-il un autre moyen de montrer quelles valeurs sont utilisées lors des tests?verboseCheck dans QuickCheck 2?
10
A
Répondre
2
On dirait verbose
(et d'autres verbose
- fonctions) ont été retournés à QuickCheck dans la version 2.4
1
J'ai regardé les sources, et il semble que Args
ont été remaniée avec, configEvery
n'est plus là, et donc vous n'êtes pas en mesure d'imprimer toutes les valeurs de test sans patcher les sources QuichCheck
4
Oui, cela semble être une régression de fonctionnalité par rapport à QuickCheck 1.
Toutefois, vous pouvez contourner ce problème en annotant vos propriétés avec une instruction Debug.Trace.trace. Quelque chose comme:
import Debug.Trace
prop_eq xs = traceShow xs $
xs == reverse (reverse xs)
7
La fonction sample
est également utile:
Prelude Test.QuickCheck
ghci> sample (arbitrary :: Gen String)
""
")\223"
"(\227\&5F"
"\DC1"
"\136'\140\180\FS"
"K\DC2\NUL\CAN\253Q"
"\DC4\f\184&.\DC3\159\&1I\160j\147"
....
De cette façon, il est facile de jouer avec vos instances arbitraires, et assurez-vous qu'ils génèrent ce que vous pensez qu'ils génèrent.
3
Je suis heureux avec
import Debug.Trace
verboseCheck prop = quickCheck (\input -> traceShow input $ prop input)
Questions connexes
- 1. Quoi de neuf dans QuickCheck 2?
- 2. Comment utiliser 'oneof' dans quickCheck (Haskell)
- 3. Génération d'une liste de listes de Int avec QuickCheck
- 4. Silverlight 2: XamlParseException dans Silverlight 2
- 5. IValueProvider dans MVC 2 RC 2
- 6. php mysql recherche dans 2 colonnes dans 2 tables
- 7. 2 listes dans un
- 8. NSTimer dans 2 Vues
- 9. LIstbox dans MVC 2
- 10. 2 Colonne dans SAP ABAP A = 1, B = 2 ... ZZZ =?
- 11. 2 fil d'Ariane pour 2 menus dans Drupal
- 12. Comparer 2 champs dans 2 tables et extraire des données
- 13. ActionLink comportement étrange dans ASP.Net MVC 2 Preview 2
- 14. Drupal: placer 2 vues dans une page à 2 colonnes
- 15. Permutation entre 2 vues dans 2 contrôleurs de vue distincts
- 16. 2 questions: 1) 2 longues données large dans R, 2) suivi re: râle
- 17. Navigation dynamique dans ExpressionEngine 2
- 18. Autofac dans Asp.net mvc 2
- 19. HttpStatusCodeResult dans ASP.NET MVC 2
- 20. mysql 2 requêtes dans 1
- 21. action-validation.xml dans struts 2
- 22. Rejoindre 2 'threads' dans javascript
- 23. Où UnityContainerElement dans Unity 2?
- 24. 2 instances mysql dans MAC
- 25. Propriété 'name' dans Doctrine 2
- 26. FetchMode dans JPA 2 CriteriaQuery
- 27. Styles immuables dans Silverlight 2
- 28. problème d'autorisation dans asp.net 2
- 29. Paging dans asp.net-mvc-2
- 30. Héritage dans Silverlight 2 Styles
Oui, il est utile. –