Popularity
9.0
Stable
Activity
0.0
Stable
59
6
27
Monthly Downloads: 126
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-expectations-json
Hspec expectations on JSON Values -
hspec-golden-aeson
Use tests to monitor changes in Aeson serialization -
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.
Clean code begins in your IDE with SonarLint
Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
Promo
www.sonarlint.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