Moduł QuickCheck został usunięty za pomocą version 2 (1.2.0.1 still has it). Z tego powodu zawsze czuję się jak mapM_
- wiele testów razem jest trochę hacky. Czy mogę pominąć funkcję następczą w QuickCheck 2? Czy istnieje kanoniczny sposób grupowania niezależnych testów?Szybkie sprawdzanie 2 przetwarzanie wsadowe
Odpowiedz
Istnieje opcja "idź do domu" i zgrupuj wszystkie testy w bieżącym module przez Test.QuickCheck.All
. Wymaga szablonu Haskell, a wszystkie właściwości muszą zaczynać się od prop_
. Ex:
{-# LANGUAGE TemplateHaskell #-}
import Test.QuickCheck.All
prop_one, prop_two :: a -> Bool
prop_one = const True
prop_two = const True
runTests :: IO Bool
runTests = $quickCheckAll
main :: IO()
main = runTests >>= \passed -> if passed then putStrLn "All tests passed."
else putStrLn "Some tests failed."
Dwie ważne uwagi: Po pierwsze, właściwości z importowanych modułów nie są uwzględnione. Po drugie, (i wygląda bardzo dziwnie), w GHC 7.8 musisz wstawić 'return []' przed linią 'runTests = $ quickCheckAll'. Więcej informacji można znaleźć na stronie [moduł plandeki] (http://hackage.haskell.org/package/QuickCheck-2.7.6/docs/Test-QuickCheck-All.html). – MasterMastic
Jeśli testujesz przez kabałowy zestaw testowy, ten 'główny' prawdopodobnie lepiej Ci odpowiada:' main = runTests >> = \ passed -> if passed then exitSuccess else exitFailure'. Będziesz także musiał "zaimportować System.Exit (exitSuccess, exitFailure)". – MasterMastic
- 1. przetwarzanie wsadowe konwersji pandoc
- 2. Przetwarzanie wsadowe każdego parametru
- 3. YouTube API v3 przetwarzanie wsadowe
- 4. Przetwarzanie wsadowe SVCUtil lub WSDL
- 5. 2 pytania ciągi wsadowe
- 6. Przetwarzanie wsadowe Konwersje Pandoc w systemie Windows
- 7. Szybkie przetwarzanie macierzy wydajności w Numpy/Python
- 8. Szybkie sprawdzanie zakresów w Pythonie
- 9. Emacs: przetwarzanie wsadowe plików trybu org przez crontab
- 10. Szybkie sprawdzanie lub ograniczanie użycia pamięci wątku w .NET?
- 11. szybkie dołączanie danych.tabela (potencjalny błąd, sprawdzanie przed zgłoszeniem)
- 12. Klaster Hadoop. 2 szybkie, 4 średnie, 8 wolniejszych maszyn?
- 13. Jak szybkie są węzły EC/2 między sobą?
- 14. Sprawdzanie poprawności JavaScriptu dla formularzy Symfony 2
- 15. Ciężkie przetwarzanie asynchroniczne
- 16. Pliki wsadowe - liczba argumentów wiersza poleceń
- 17. Windows Sprawdzanie wsadowe, jeśli zmienna zaczyna się od, kończy i zawiera konkretny ciąg
- 18. Dane wejściowe i wyjściowe wsadowe w Mathematica?
- 19. wsadowe: Jak zostawić otwarte okno konsoli
- 20. Szybkie obliczanie kwadratu binarnego
- 21. Szybkie wyszukiwanie plików TypeScript
- 22. Szybkie rekursje Fibonacciego
- 23. Szybkie rozwiązywanie anagramów
- 24. Najszybszy sposób na wywoływanie wsadowe w WebGL
- 25. Przetwarzanie pliku w C++
- 26. Szybkie parsowanie ciągów w C#
- 27. W jaki sposób słownik wykonuje szybkie wyszukiwanie
- 28. Szybkie sortowanie w Haskell
- 29. Przetwarzanie CSV
- 30. Programowanie wsadowe, obsługa błędów i polecenie uruchamiania
Spójrz [ 'test-framework'] (http://hackage.haskell.org/package/test-framework) i [' test-framework-quickcheck2'] (http: // hackage .haskell.org/package/test-framework-quickcheck2). – dflemstr