eTDD framework
Project description
eTDD
Framework for Test-driven development (TDD) to support to isolate the unit code in C/C++.
Installing
Windows
Before to execute the test, you need to execute the option "Install CppUTest on ./tmp" in the tdd.menu(). It will download and compile the cpputest code.
You need to install also:
- cmake : https://cmake.org/download/
- cppcheck : http://cppcheck.net/
- git : https://github.com/git-for-windows/git/releases/tag/v2.41.0.windows.1
- mingw-gcc : https://github.com/niXman/mingw-builds-binaries/releases
- doxygen : https://www.doxygen.nl/download.html
Linux
sudo apt install cmake libcpputest-dev cppcheck
sudo apt install doxygen graphviz
Example 1 - simplest example
from etdd import TDD
tdd = TDD()
tdd.download_from_git("https://github.com/neubertm/TDD_framework.git")
test = tdd.test("TDD_framework/TESTs/BitInverter_Tpkg/src/test.cpp", "BitInverter")
test.sut = ["TDD_framework/project/BitInverter/BitInverter.c", "TDD_framework/project/BitInverter/BitInverter.h"]
test.compile = ["BitInverter.c"]
tdd.menu()
Example 2 - with environment file
You can create the file tdd.py and execute it with the follow code:
from etdd import TDD, full_main
tdd = TDD(main=full_main, envpath="envpath.ini")
tdd.download_from_git("https://github.com/neubertm/TDD_framework.git")
tdd.cmake["CMAKE_C_FLAGS"] = "-g -O0 -coverage -lgcov "
tdd.cmake["CMAKE_CXX_FLAGS"] = "-g -O0 -coverage -lgcov "
# Test 1 - BitInverter
test = tdd.test("TDD_framework/TESTs/BitInverter_Tpkg/src/test.cpp", "BitInverter")
test.sut = ["TDD_framework/project/BitInverter/BitInverter.c", "TDD_framework/project/BitInverter/BitInverter.h"]
test.files = ["TDD_framework/TESTs/BitInverter_Tpkg/src/MemLeakDetection*.h"]
test.compile = ["BitInverter.c"]
# Open the menu in the console
tdd.menu()
envpath.ini
[CMAKE]
check=true
ENV_CONFIG_SCRIPT = /usr/bin/
[MINGW]
check=False
ENV_CONFIG_SCRIPT = /usr/bin/
[MSVC]
check=False
ENV_CONFIG_SCRIPT = /usr/bin/
[CLANG]
check=False
ENV_CONFIG_SCRIPT = /usr/bin/
[CPPCHECK]
check=False
ENV_CONFIG_SCRIPT = /usr/bin/
[CPPUMOCKGEN]
ENV_CONFIG_SCRIPT = /usr/bin/
Example 3 - Test Code
tdd.py
from etdd import TDD
tdd = TDD()
tdd.download_from_git("https://github.com/neubertm/TDD_framework.git")
# CHuaMaker Test
test = tdd.test("./test.cpp", "cHuamaker")
test.sut = ["TDD_framework/project/example_4/CHuamaker.cpp", "TDD_framework/project/example_4/CHuamaker.h"]
test.files = ["TDD_framework/project/example_4/CPrinter.h"]
test.compile = ["CHuamaker.cpp"]
tdd.menu()
./test.cpp
#include "CHuamaker.h"
#include "CPrinter.h"
/** @code CPrinter.cpp
#include "CPrinter.h"
void CPrinter::out(const char *cs_pText) {
}
*/
//CppUTest includes should be after your and system includes
#include "CppUTest/TestHarness.h"
#include "CppUTestExt/MockSupport.h"
#include "CppUTest/MemoryLeakDetectorNewMacros.h"
TEST_GROUP(CHuamaker)
{
CHuamaker *cHuamaker;
CPrinter *Printer;
void setup()
{
cHuamaker = new CHuamaker();
Printer = new CPrinter();
}
void teardown()
{
delete cHuamaker;
delete Printer;
mock().clear();
}
};
/*
TEST(CHuamaker, Create)
{
FAIL("Nemohu testovat hodnotu je private.");
}
*/
TEST(CHuamaker, PrinterNotSet)
{
cHuamaker->makeHua(4);
Printer->out("opa");
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
etdd-0.0.11.tar.gz
(8.8 kB
view details)
File details
Details for the file etdd-0.0.11.tar.gz
.
File metadata
- Download URL: etdd-0.0.11.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f18db483ea40e979305f33b718d58c769ec5cb917287dc1d943b313aa3990314 |
|
MD5 | 723470cee285bd6fd5e9ae9440a58db1 |
|
BLAKE2b-256 | fa1dab37840be63c37c3ced4fbf2910d7ca5e06d341676f3488a555d9c0395d3 |