Popularity
9.0
Stable
Activity
0.0
Stable
64
7
28
Monthly Downloads: 139
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.
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Promo
www.influxdata.com
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