Skip to content

Latest commit

 

History

History
50 lines (37 loc) · 1.14 KB

README.md

File metadata and controls

50 lines (37 loc) · 1.14 KB

be_json

-- import "github.com/expectto/be/be_json"

Package be_json provides Be matchers for expressive assertions on JSON TODO: more detailed explanation what is considered to be JSON here

Usage

func HaveKeyValue

func HaveKeyValue(key any, args ...any) types.BeMatcher

HaveKeyValue is a facade to gomega.HaveKey & gomega.HaveKeyWithValue

func Matcher

func Matcher(args ...any) types.BeMatcher

Matcher is a JSON matcher. "JSON" here means a []byte with JSON data in it By default several input types are available: string() / []byte(), fmt.Stringer, io.Reader

- custom string-based or []byte-based types are available as well

To make it stricter and to specify which format JSON we should expect, you must pass one of transforms as first argument:

- JsonAsBytes/ JsonAsString / JsonAsStringer  / JsonAsReader (for string-like representation)
- JsonAsObject / JsonAsObjects (for map[string]any representation)

type JsonInputType

type JsonInputType uint32
const (
	JsonAsBytes JsonInputType = 1 << iota
	JsonAsString
	JsonAsStringer
	JsonAsReader
	JsonAsObject
	JsonAsObjects
)