-
Notifications
You must be signed in to change notification settings - Fork 555
Yes! That's the point.
[TODO: Update the Q/A's below]
At the most fundamental level, GoConvey is an extension of the GoLang testing tools.
It's meant to facilitate Behavior Drive Development (BDD) at the level of unit tests and integration tests. If those are new concepts for you, go check out the Related Reading page and come back...
- Unit Testing
- Test-Driven Development (TDD)
- Behavior-Driven Development (BDD)
- Integration Testing
- BDD vs. TDD
We weren't satisifed with the built-in GoLang test tools. No, actually we were overjoyed that the language
came with something built-in. And we liked go test
enough that rather than create something from the ground up
we decided to integrate with go test
directly. We were just used to something much more descriptive and
that facilitated testing large systems withing a lot of boiler plate code.
We've used a few different BDD tools before, each having its own take on the language you should use
to specify the behavior of the system under test. "Given, When, Then" vs. "Establish, Because, It" from BDD
and "Arrange, Act, Assert" from TDD are a few examples. In the end, you use the testing tool to specify or
"convey" what the system should do. So, the main function you'll use to write specifications is named Convey
.
The language you use to specify your system is up to you, although we usually use the "Given, When, Then" style.