Catch is a header only library that allows you to use both TDD and BDD unit test style.
The following snippet is from the Catch documentation page at this link:
SCENARIO( "vectors can be sized and resized", "[vector]" ) {
GIVEN( "A vector with some items" ) {
std::vector v( 5 );
...