Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cobbinma/bromide

A snapshot testing library for go 📸
https://github.com/cobbinma/bromide

go golang snapshot snapshot-testing testing testing-tools

Last synced: 27 days ago
JSON representation

A snapshot testing library for go 📸

Awesome Lists containing this project

README

        


bromide



A snapshot testing library for go 📸






## Introduction

Bromide is a snapshot library for Go, designed to simplify managing snapshot tests.

With Bromide, you can easily capture test output and then review any differences against expected values.

## Usage

### Write

```sh
go get github.com/cobbinma/bromide
```

```go
import github.com/cobbinma/bromide

func TestSomething(t *testing.T) {
text := "world"
something := testStruct{
example: &text,
again: 5,
}

bromide.Snapshot(t, something)
}
```

```
--- FAIL: TestSomething (0.00s)
bromide_test.go:24: snapshot mismatch
bromide_test.go:24:
--- current
+++ incoming
@@ -1,4 +1,4 @@
(bromide_test.testStruct) {
- example: (*string)((len=5) "hello"),
+ example: (*string)((len=5) "world"),
again: (int) 5
}

bromide_test.go:24: to update snapshot run `bromide`
FAIL
FAIL github.com/cobbinma/bromide 0.211s
FAIL
```

### Review

```sh
go install github.com/cobbinma/bromide/cmd/[email protected]
```

![screenshot](./assets/Screenshot.png)

## See Also

* [cupaloy](https://github.com/bradleyjkemp/cupaloy)

## Thanks

* [cupaloy](https://github.com/bradleyjkemp/cupaloy)
* [insta](https://github.com/mitsuhiko/insta)
* [birdie](https://github.com/giacomocavalieri/birdie)