ich darf hier gerade ein wenig C++ programmieren und wollte dazu
CppUnit als Testtool verwenden.
Habe es auch soweit eingerichtet bekommen, aber beim Testlauf erhalte
ich einen Pufferüberlauf in TestResult::protect.
Mein minimales Testprogramm folgt.
Kann mir jemand sagen, ob ich da etwas grundlegendes falsch mache ?
Die Klasse SUT enthält dabei nur eine Methode "testable", die einfach
1 zurückgibt und hier nicht weiter
aufgeführt wird:
Inhalt von SUTTest.h:
*********************************************************************************************************
#pragma once
#include <cppunit/TestFixture.h>
class SUTTest : public CppUnit::TestFixture
{
public:
SUTTest(void);
~SUTTest(void);
void setUp();
void tearDown();
void testSUT();
};
*********************************************************************************************************
Inhalt von SUTTest.cpp:
*********************************************************************************************************
#include "SUTTest.h"
#include "SUT.h"
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/TestResult.h>
SUTTest::SUTTest(void)
{
}
SUTTest::~SUTTest(void)
{
}
void SUTTest::setUp(void)
{
}
void SUTTest::tearDown(void)
{
}
void SUTTest::testSUT(void)
{
//SUT tSUT;
//CPPUNIT_ASSERT(1 == tSUT.testable());
}
int main( int argc, char* argv[] )
{
if(2 == argc && 0 == strcmp("-t", argv[1]))
{
CppUnit::TestSuite suite;
CppUnit::TestResult result;
suite.addTest( new CppUnit::TestCaller<SUTTest>(
"testSUT", &SUTTest::testSUT));
suite.run( &result );
return 1;
}
SUT tSUT;
std::cout << "Hallo Welt " << argv[1] << "\r\n";
return 2;
}