Quelles sont les principales différences entre QuickCheck 1 et QuickCheck 2? En regardant les docs Haddock je peux voir qu'il est divisé en plusieurs modules, coarbitrary
a été remplacé par le nouveau type Fun
et FunArbitrary
(ce qui me semble plus facile à comprendre), et le test du code monadique est maintenant supporté. Que devrais-je savoir d'autre?Quoi de neuf dans QuickCheck 2?
39
A
Répondre
53
Je l'ai vu une avancée majeure dans QuickCheck 2, je pense aussi important que les tests de code monadique, sinon plus:
class Arbitrary a where
arbitrary :: Gen a
shrink :: a -> [a]
Ce, est vraiment génial. La méthode shrink est facultative, mais si vous pouvez fournir une liste de réduction "potentiellement vide" de votre type, alors lorsque QuickCheck trouve une vérification défectueuse, elle essaiera de réduire au minimum vos données défectueuses en essayant de les réduire et ensuite -Essaye-le. Il rétrécit tant qu'il échoue.
Un petit échantillon pour vous convaincre, sans rétrécir:
FormulaPrim deparsing : *** Failed! Falsifiable (after 4 tests):
Poly (Polynome "p" [(CoeffRatio (26 % 25),PolyRest (CoeffRatio (129 % 40))),(CoeffInt 96,PolyRest (CoeffInt 11)),(CoeffInt 29,PolyRest (CoeffRatio (147 % 121))),(CoeffRatio (62 % 9),PolyRest (CoeffRatio (90 % 43))),(CoeffInt 56,PolyRest (CoeffInt 27))])
Avec:
FormulaPrim deparsing : *** Failed! Falsifiable (after 2 tests and 3 shrinks):
Poly (Polynome "t" [(CoeffInt 14,PolyRest (CoeffInt 126))])
Shorter échouent par exemple :-) signifie débogage plus rapide
Questions connexes
- 1. verboseCheck dans QuickCheck 2?
- 2. quoi de neuf?
- 3. Override decisionPolicyForNavigationAction quoi de neuf?
- 4. quoi de neuf C# Transféré?
- 5. OAuth 2.0 - Quoi de neuf?
- 6. Quoi de neuf dans les rails 3?
- 7. Quoi de neuf dans NHibernate 3.0
- 8. Quoi de neuf dans XAML 2009?
- 9. Quoi de neuf dans jQuery 1.4?
- 10. Quoi de neuf dans Python 3.x?
- 11. Quoi de neuf dans Equinox 3.5.2?
- 12. quoi de neuf avec QLayout-> setParent
- 13. AS3: Quoi de neuf/meilleur que AMFPHP
- 14. quoi de neuf avec toutes ces erreurs?
- 15. Quoi de neuf dans WPF 3D dans .NET 4.0?
- 16. Quoi de neuf dans SP1 pour .NET 3.5
- 17. Comment trouver quoi de neuf dans VC++ v10?
- 18. Quoi de neuf dans .net 4 pour MVVM?
- 19. Comment ajouter une fonctionnalité "Quoi de neuf ou quoi de changé" à mon projet intranet?
- 20. Quoi de neuf sur JavaFX et les téléphones mobiles?
- 21. Signtool a cessé d'ajouter la contre-signature - quoi de neuf?
- 22. Quoi de neuf avec cette expression régulière ne correspond pas?
- 23. Sortie XML en Java - quoi de neuf avec DOMImplementationLS?
- 24. Comment utiliser 'oneof' dans quickCheck (Haskell)
- 25. Quoi de neuf dans Visual Studio 2008 vs 2005 ou C# 3.0 vs C# 2.0?
- 26. Quoi de neuf pour les développeurs dans Mobile Safari iOS 4.2
- 27. Quoi de mieux dans sIFR 3 beta que sIFR 2?
- 28. Certaines des tables d'AdventureWorks 2008 récemment installées sont vides. Quoi de neuf?
- 29. Génération d'une liste de listes de Int avec QuickCheck
- 30. Tout neuf à gwt
Coolest bidouille J'ai vu toute la semaine . –