We needed to have parallelizable integration tests to ensure our test run-times didn't get out of control. We needed to make testing asynchronous behavior ubiquitous and straightforward. #Macos runonly avoid detection for five codeMoreover, the nature of the code being built - complex distributed systems - required a testing framework that could provide for the needs unique to unit-testing and integration-testing such a system. And our test-driven development culture put a premium on tests as first-class citizens: they needed to be easy to write, easy to read, and easy to maintain. Engineers jumping from one team to another needed to be able to hit the ground running we needed fewer testing bikesheds and more shared testing patterns. As a growing organization Pivotal would benefit from a shared testing framework to be used across its many teams writing Go. The need was twofold: organizational and technical. For engineers coming from the rich ecosystems of testing frameworks such as Jasmine, rspec, and Cedar there was a need for a comprehensive testing framework with a mature set of matchers in Go. At the time (and, arguably, to this day) the landscape of Go's testing infrastructure was somewhat anemic. A sprawling distributed system, originally written in Ruby, that was slowly migrating towards the emerging distributed systems language of choice: Go. Specifically, Pivotal was one of the lead contributors to Cloud Foundry. #Macos runonly avoid detection for five softwareThe first commit to Ginkgo was made by on August 19th, 2013 (to put that timeframe in perspective, it's roughly three months before Go 1.2 was released!) Ginkgo came together in the highly collaborative environment fostered by Pivotal, a software company and consultancy that advocated for outcome-oriented software development built by balanced teams that embrace test-driven development. Like all software projects, Ginkgo was written at a particular time and place to solve a particular set of problems. #Macos runonly avoid detection for five freeIf you just want to dive straight in, feel free to jump ahead! This section captures some of Ginkgo's history and motivation. These docs are written assuming you are familiar with Go and the Go toolchain and that you are using Ginkgo V2 (V1 is no longer supported - see here for the migration guide). We suggest starting here to build a mental model for how Ginkgo works and understand how the Ginkgo DSL can be used to solve real-world testing scenarios. The narrative docs you are reading here are supplemented by the godoc API-level docs. In reality, Ginkgo is a general purpose testing framework in active use across a wide variety of testing contexts: unit tests, integration tests, acceptance test, performance tests, etc. Ginkgo is sometimes described as a "Behavior Driven Development" (BDD) framework. When combined, Ginkgo and Gomega provide a rich and expressive DSL ( Domain-specific Language) for writing tests. It is best paired with the Gomega matcher library. Ginkgo is a testing framework for Go designed to help you write expressive tests.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |