Jump straight to the docs to learn more.
-
Ginkgo uses Go's
testingpackage and can live alongside your existingtestingtests. It's easy to bootstrap and start writing your first tests -
Structure your BDD-style tests expressively:
- Nestable
DescribeandContextcontainer blocks BeforeEachandAfterEachblocks for setup and teardownItblocks that hold your assertionsJustBeforeEachblocks that separate creation from configuration (also known as the subject action pattern).
- Nestable
-
A comprehensive test runner that lets you:
- Mark specs as pending
- Focus individual specs, and groups of specs, either programmatically or on the command line
- Run your tests in random order, and then reuse random seeds to replicate the same order.
- Break up your test suite into parallel processes for straightforward test parallelization
-
Built-in support for testing asynchronicity
-
Built-in support for benchmarking your code. Control the number of benchmark samples as you gather runtimes and other, arbitrary, bits of numerical information about your code.
-
ginkgo: a command line interface with plenty of handy command line arguments for running your tests and generating test files.The
ginkgoCLI is convenient, but purely optional -- Ginkgo works just fine withgo test -
A modular architecture that lets you easily:
- Write custom reporters
- Adapt an existing matcher library (or write your own!) to work with Ginkgo
Gomega: Ginkgo's Preferred Matcher Library
Learn more about Gomega here
Ginkgo is MIT-Licensed