Giết sạch các loại bug với hedgehog
TIL
763
Haskell
18
Testing
30
White

checkraiser viết ngày 22/06/2018

HEDgehog

{-# LANGUAGE TemplateHaskell #-}
module Main where

import           Control.Monad
import           Control.Monad.Trans.Class
import           Control.Monad.Trans.State.Strict
import           Data.Functor.Identity
import           Data.Semigroup                   ((<>))
import           Hedgehog
import qualified Hedgehog.Gen                     as Gen
import qualified Hedgehog.Range                   as Range


tick :: State Integer ()
tick = modify (+1)

prop_Tick :: Property
prop_Tick =
  property $ do
    times <- forAll $ Gen.int $ Range.constant 5 100
    x <- forAll $ Gen.integral $ Range.constantFrom 0  (-10000) 10000
    let res = execState (replicateM_ times tick) x
    res === (x + toInteger times)

main :: IO Bool
main =
  checkParallel $$discover

alt text

HEdgehog

checkraiser 22-06-2018

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

checkraiser

17 bài viết.
23 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
6 1
Tôi dự sẽ viết 1 loạt series về việc thiết kế 1 ứng dụng Rails như thế nào để nó có thể giúp bạn ăn ngon ngủ yên trong hằng năm trời: Khi mà việc t...
checkraiser viết gần 5 năm trước
6 1
White
6 10
Cũng ngót nghét đi làm hơn 6 năm rồi, mình chỉ thấy một điều khá "ngược đời": Các ông chủ , những người trả tiền cho bạn lại có tư duy lập trình ké...
checkraiser viết gần 3 năm trước
6 10
White
5 0
Bài viết này, là 1 quan điểm cá nhân trong việc viết Code các layer trong Rails của mình. Controller Trước khi code, bạn hãy đặt câu hỏi: Mục đí...
checkraiser viết hơn 4 năm trước
5 0
Bài viết liên quan
White
6 0
1. Định nghĩa Một kế hoạch kiểm thử dự án phần mềm (test plan) là một tài liệu mô tả các mục tiêu, phạm vi, phương pháp tiếp cận, và tập trung vào...
Thiên Hoàng Minh Vũ viết hơn 2 năm trước
6 0
White
8 2
Khi test tự động có đụng đến DB, thường ta phải tạo rồi xóa DB rất nhiều lần. Do đó nếu lưu DB trên đĩa cứng bình thường thì mỗi lần chạy test phải...
Ngoc Dao viết hơn 4 năm trước
8 2
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
17 bài viết.
23 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!