hspec

    1熱度

    1回答

    在遇到undefined時,在Haskell中編寫一個表達式失敗的單元測試有點棘手。我試了下HSpec: module Main where import Test.Hspec import Control.Exception (evaluate) main :: IO() main = hspec $ do describe "Test" $ do it "tes

    1熱度

    1回答

    我是Haskell的新手。 我寫了下面這段代碼,它將解析發送給腳本的參數; module Billing.Options ( GlobalOpts(..) , globalOptsParser , parseDb ) where import Options.Applicative import Options.Applicative.Simple

    2熱度

    1回答

    我正在使用yesod-sqlite模板並試圖在Database.Persist函數中使用get函數進行測試。 這裏是我的代碼: [Entity _ task] <- runDB $ selectList [TaskName ==. name] [] ... user <- runDB $ X.get (taskUserId task) 而且我得到的錯誤: my_project/test/H

    1熱度

    1回答

    我正在關注傳遞選項給Hspec的hspec documentation。從命令行傳遞時指定我的選項按預期工作,但從.hspec文件或任何其他列出的方法傳遞時不起作用。 我的測試套件中的一個測試與過濾器「post_returns_200」匹配。我可以不通過命令運行套件的其餘部分單獨運行這個測試 stack test --test-arguments=--match="post_returns_200

    1熱度

    1回答

    同樣以快速檢查如何支持反例: property \x -> counterexample ("Foo failed with: " ++ ...) $ foo x 但在某種程度上,它的工作原理與shouldBe,例如 failDetails (" details: " ++ baz a) $ a `shouldBe` 2 ,我想它的線沿線的打印東西: expe

    1熱度

    1回答

    我有一個程序,它接受來自getLine的用戶輸入,然後驗證它是否都是數字。如果通過,它將運行String -> String的功能並將結果打印到屏幕上。如果不是,則重複getLine。 module Main where import Control.Monad.Loops (untilJust) import Data.Char (isDigit) main = do l

    1熱度

    1回答

    嘗試單元測試路線的問題。 Scotty,Persistent和Hspec-WAI。 與Yesod或Spock不同,Scotty沒有一個很好的存放數據庫處理程序的地方。我通過一個巨大的「做」來啓動數據庫,將數據庫池保存爲局部變量,然後使用該變量。 app :: IO() app = do -- allocate_database $ \pool -- scotty 8080

    2熱度

    1回答

    有沒有辦法阻止成功的測試被打印到屏幕上? 目前我有很多測試,真的很長的投入,我真的只關心看到失敗? 編輯:我正在我的測試與stack test 解決方案: 感謝來自@ MB14答案,我能搜索什麼,我一直在尋找。 直接運行測試文件: 你可以使用: runhaskell testfile.hs --format=failed-examples 或 runhaskell testfile.hs -f

    0熱度

    1回答

    在大多數編程語言中,在某些情況下很容易跳過測試。在基於haskell HSpec的測試套件中有沒有適當的方法來做到這一點?

    6熱度

    1回答

    我已經使用Hspec的automatic spec discovery功能編寫了一系列測試。我也使用stack作爲我的構建工具。 我的測試目錄包含Spec.hs文件以及我的應用程序的不同模塊(例如Module0Spec.hs,Module1Spec.hs)的測試文件。 現在,當我開始編寫新的測試模塊,或者當我想在代碼更改後重新運行失敗的測試時,我希望只能運行給定的測試模塊。 有什麼辦法可以讓堆棧或