Mô-đun Batch
của QuickCheck đã bị xóa với version 2 (1.2.0.1 still has it). Bởi vì điều này, tôi luôn luôn cảm thấy như mapM_
-ing nhiều bài kiểm tra với nhau là loại hacky. Tôi có thấy tính năng kế thừa trong QuickCheck 2 không? Có một cách hợp lý để nhóm các bài kiểm tra độc lập lại với nhau không?QuickCheck 2 xử lý theo lô
Trả lời
Có tùy chọn 'đi lớn hoặc về nhà' để nhóm lại tất cả các thử nghiệm trong mô-đun hiện tại qua Test.QuickCheck.All
. Nó đòi hỏi Template Haskell và tất cả các thuộc tính phải bắt đầu bằng prop_
. Ví dụ:
{-# 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."
Hai lưu ý quan trọng: Thứ nhất, các thuộc tính từ các mô-đun đã nhập dường như không được bao gồm. Thứ hai, (và có vẻ rất lạ), trong GHC 7.8 bạn cần chèn 'return []' trước dòng 'runTests = $ quickCheckAll'. Xem [trang haddock mô-đun] (http://hackage.haskell.org/package/QuickCheck-2.7.6/docs/Test-QuickCheck-All.html) để biết thêm thông tin. – MasterMastic
Nếu bạn đang thử nghiệm thông qua một bộ thử cabal, 'main' này có lẽ sẽ phù hợp với bạn tốt hơn:' main = runTests >> = \ passed -> nếu được thông qua sau đó exitSuccess else exitFailure'. Và bạn cũng sẽ cần 'import System.Exit (exitSuccess, exitFailure)'. – MasterMastic
- 1. chuyển đổi pandoc xử lý theo lô
- 2. Các tệp xử lý theo lô đệ quy với pngquant
- 3. verboseCheck trong QuickCheck 2?
- 4. Có gì mới trong QuickCheck 2?
- 5. Tiện ích mở rộng phản ứng: Xử lý sự kiện theo lô + thêm độ trễ giữa mỗi lô
- 6. Cách xử lý 2 triệu sản phẩm
- 7. Grails hibernate session theo lô
- 8. Giải mã base64 theo lô
- 9. Xử lý lỗi trong AWS PHP SDK 2
- 10. Xử lý các sự kiện vuốt trong Sencha Touch 2
- 11. xử lý python với 2 cửa sổ gtk
- 12. Bề mặt hồi quy theo lô
- 13. cam kết khoảng thời gian trong lô Xuân và xử lý các khoản hoàn lại
- 14. giải nén tệp .gz theo lô
- 15. Thêm cờ vào tập lệnh theo lô
- 16. Lô màu trong Mathematica theo nhãn
- 17. xuất tệp psd theo lô thành png
- 18. Android: Xử lý ảnh theo thời gian thực
- 19. Tích hợp QuickCheck Haskell Cabal
- 20. Xử lý âm thanh theo thời gian thực trong Android
- 21. Xử lý null theo phương pháp mở rộng
- 22. Xử lý ngoại lệ theo cách rõ ràng
- 23. Xử lý nền theo thời gian trên iOS
- 24. Xử lý Xong và tiếp theo của SoftKeypad trong Android?
- 25. Bộ tiền xử lý C __TIMESTAMP__ theo ISO 8601: 2004
- 26. Xử lý tài sảnThay đổi theo cách an toàn loại
- 27. Trình xử lý sự kiện theo cú pháp/mẫu C# -
- 28. So sánh 2 số trong DOS Lô Không hoạt động
- 29. Xử lý một phần tệp bằng bộ tiền xử lý
- 30. Xử lý dữ liệu theo tham chiếu hoặc theo giá trị trong python
Nhìn vào ['khung kiểm tra'] (http://hackage.haskell.org/package/test-framework) và [' test-framework-quickcheck2'] (http: // hackage .haskell.org/package/test-framework-quickcheck2). – dflemstr