mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-22 21:36:11 +01:00
console reporter:
Always print test case + sections in header for every new section. Group sections into single block Tweaked BDD mappings to print out nicely with above
This commit is contained in:
parent
097282e00e
commit
f8ba2277d3
@ -79,14 +79,12 @@ namespace Catch
|
||||
struct ThreadedSectionInfo : SectionInfo, SharedImpl<> {
|
||||
ThreadedSectionInfo( SectionInfo const& _sectionInfo, Ptr<ThreadedSectionInfo> const& _parent = Ptr<ThreadedSectionInfo>() )
|
||||
: SectionInfo( _sectionInfo ),
|
||||
parent( _parent ),
|
||||
printed( false )
|
||||
parent( _parent )
|
||||
{}
|
||||
virtual ~ThreadedSectionInfo();
|
||||
|
||||
std::vector<Ptr<ThreadedSectionInfo> > children;
|
||||
Ptr<ThreadedSectionInfo> parent;
|
||||
bool printed;
|
||||
};
|
||||
|
||||
struct AssertionStats {
|
||||
|
@ -213,7 +213,7 @@ namespace Catch {
|
||||
|
||||
void lazyPrint() {
|
||||
|
||||
bool needsNewline = unusedTestCaseInfo || ( currentSectionInfo && !currentSectionInfo->printed );
|
||||
bool needsNewline = unusedTestCaseInfo || currentSectionInfo;
|
||||
|
||||
if( testRunInfo )
|
||||
lazyPrintRunInfo();
|
||||
@ -221,7 +221,7 @@ namespace Catch {
|
||||
lazyPrintGroupInfo();
|
||||
if( unusedTestCaseInfo )
|
||||
lazyPrintTestCaseInfo();
|
||||
if( currentSectionInfo && !currentSectionInfo->printed )
|
||||
if( currentSectionInfo)
|
||||
lazyPrintSectionInfo();
|
||||
if( needsNewline )
|
||||
stream << "\n";
|
||||
@ -285,7 +285,6 @@ namespace Catch {
|
||||
else
|
||||
stream << inset;
|
||||
stream << (*it)->name << "\n";
|
||||
// (*it)->printed = true; // !TBD remove flag?
|
||||
}
|
||||
stream << getDashes() << std::endl;
|
||||
unusedSectionInfo.reset();
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -12,31 +12,22 @@
|
||||
|
||||
#include "catch.hpp"
|
||||
|
||||
#define STORY( a, b )
|
||||
#define SCENARIO( storyName, desc ) TEST_CASE( desc, "" )
|
||||
#define GIVEN( desc ) SECTION( desc, "" )
|
||||
#define WHEN( desc ) SECTION( desc, "" )
|
||||
#define THEN( desc ) SECTION( desc, "" )
|
||||
// !TBD: story scenarios map to class based tests
|
||||
#define SCENARIO( name, tags ) TEST_CASE( "Scenario: " name, tags )
|
||||
#define GIVEN( desc ) SECTION( "Given: " desc, "" )
|
||||
#define WHEN( desc ) SECTION( "When: " desc, "" )
|
||||
#define THEN( desc ) SECTION( "Then: " desc, "" )
|
||||
|
||||
inline bool itDoesThis(){ return true; }
|
||||
|
||||
STORY( storyName, "once upon a time" )
|
||||
|
||||
SCENARIO( storyName, "scenario name" )
|
||||
{
|
||||
GIVEN( "This stuff exists" )
|
||||
{
|
||||
SCENARIO( "Do that thing with the thing", "[tags]" ) {
|
||||
GIVEN( "This stuff exists" ) {
|
||||
// make stuff exist
|
||||
|
||||
WHEN( "I do this" )
|
||||
{
|
||||
WHEN( "I do this" ) {
|
||||
// do this
|
||||
|
||||
THEN( "it should do this")
|
||||
{
|
||||
REQUIRE( itDoesThis() );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user