Popularity
9.0
Growing
Activity
0.0
Stable
58
6
27
Monthly Downloads: 194
Programming language: Haskell
License: MIT License
hspec-wai alternatives and similar packages
Based on the "hspec" category.
Alternatively, view hspec-wai alternatives based on common mentions on social networks and blogs.
-
hspec-golden-aeson
Use tests to monitor changes in Aeson serialization -
hspec-expectations-json
Hspec expectations on JSON Values -
hspec-attoparsec
utility functions for testing attoparsec parsers with hspec -
hspec-megaparsec
Utility functions for testing Megaparsec parsers with Hspec -
hspec-expectations-match
An hspec expectation that asserts a value matches a pattern -
hspec-expectations-pretty-diff
Catchy combinators for HUnit +++ colored pretty-printed diffs -
hspec-leancheck
LeanCheck support for the Hspec test framework.
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
Promo
www.sonarqube.org
Do you think we are missing an alternative of hspec-wai or a related project?
README
hspec-wai 
Helpers to test WAI applications with Hspec
Example
{-# LANGUAGE OverloadedStrings, QuasiQuotes #-}
module Main (main) where
import Test.Hspec
import Test.Hspec.Wai
import Test.Hspec.Wai.JSON
import Network.Wai (Application)
import qualified Web.Scotty as S
import Data.Aeson (Value(..), object, (.=))
main :: IO ()
main = hspec spec
app :: IO Application
app = S.scottyApp $ do
S.get "/" $ do
S.text "hello"
S.get "/some-json" $ do
S.json $ object ["foo" .= Number 23, "bar" .= Number 42]
spec :: Spec
spec = with app $ do
describe "GET /" $ do
it "responds with 200" $ do
get "/" `shouldRespondWith` 200
it "responds with 'hello'" $ do
get "/" `shouldRespondWith` "hello"
it "responds with 200 / 'hello'" $ do
get "/" `shouldRespondWith` "hello" {matchStatus = 200}
it "has 'Content-Type: text/plain; charset=utf-8'" $ do
get "/" `shouldRespondWith` 200 {matchHeaders = ["Content-Type" <:> "text/plain; charset=utf-8"]}
describe "GET /some-json" $ do
it "responds with some JSON" $ do
get "/some-json" `shouldRespondWith` [json|{foo: 23, bar: 42}|]
Documentation
See hspec-wai on hackage: https://hackage.haskell.org/package/hspec-wai
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request