transfered from codeberg
This commit is contained in:
40
source_code/external_code/Unity/extras/bdd/readme.md
Normal file
40
source_code/external_code/Unity/extras/bdd/readme.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Unity Project - BDD Feature
|
||||
|
||||
Unity's Behavior-Driven Development (BDD) test feature. It allows developers to structure and describe various phases (Given, When, Then) of a test scenario in a BDD-style format.
|
||||
|
||||
## Introduction
|
||||
|
||||
This project is based on the Unity framework originally created by Mike Karlesky, Mark VanderVoord, and Greg Williams in 2007. The project extends Unity by providing macros to define BDD structures with descriptive elements. Feature added by Michael Gene Brockus (Dreamer).
|
||||
|
||||
## License
|
||||
|
||||
This project is distributed under the MIT License. See the [license.txt](license.txt) file for more information.
|
||||
|
||||
## Usage
|
||||
|
||||
### BDD Macros
|
||||
|
||||
The provided BDD macros allow you to structure your test scenarios in a descriptive manner. These macros are for descriptive purposes only and do not have functional behavior.
|
||||
|
||||
- `GIVEN(description)`: Describes the "Given" phase of a test scenario.
|
||||
- `WHEN(description)`: Describes the "When" phase of a test scenario.
|
||||
- `THEN(description)`: Describes the "Then" phase of a test scenario.
|
||||
|
||||
Example usage:
|
||||
|
||||
```c
|
||||
GIVEN("a valid input") {
|
||||
// Test setup and context
|
||||
// ...
|
||||
|
||||
WHEN("the input is processed") {
|
||||
// Perform the action
|
||||
// ...
|
||||
|
||||
THEN("the expected outcome occurs") {
|
||||
// Assert the outcome
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
44
source_code/external_code/Unity/extras/bdd/src/unity_bdd.h
Normal file
44
source_code/external_code/Unity/extras/bdd/src/unity_bdd.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/* =========================================================================
|
||||
Unity - A Test Framework for C
|
||||
ThrowTheSwitch.org
|
||||
Copyright (c) 2007-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
||||
SPDX-License-Identifier: MIT
|
||||
========================================================================= */
|
||||
|
||||
#ifndef UNITY_BDD_TEST_H_
|
||||
#define UNITY_BDD_TEST_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/**
|
||||
* @brief Macros for defining a Behavior-Driven Development (BDD) structure with descriptions.
|
||||
*
|
||||
* These macros provide a way to structure and describe different phases (Given, When, Then) of a
|
||||
* test scenario in a BDD-style format. However, they don't have functional behavior by themselves
|
||||
* and are used for descriptive purposes.
|
||||
*/
|
||||
#define GIVEN(description) \
|
||||
if (0) { \
|
||||
printf("Given %s\n", description); \
|
||||
} else
|
||||
|
||||
#define WHEN(description) \
|
||||
if (0) { \
|
||||
printf("When %s\n", description); \
|
||||
} else
|
||||
|
||||
#define THEN(description) \
|
||||
if (0) { \
|
||||
printf("Then %s\n", description); \
|
||||
} else
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,26 @@
|
||||
Eclipse error parsers
|
||||
=====================
|
||||
|
||||
These are a godsend for extracting & quickly navigating to
|
||||
warnings & error messages from console output. Unforunately
|
||||
I don't know how to write an Eclipse plugin so you'll have
|
||||
to add them manually.
|
||||
|
||||
To add a console parser to Eclipse, go to Window --> Preferences
|
||||
--> C/C++ --> Build --> Settings. Click on the 'Error Parsers'
|
||||
tab and then click the 'Add...' button. See the table below for
|
||||
the parser fields to add.
|
||||
|
||||
Eclipse will only parse the console output during a build, so
|
||||
running your unit tests must be part of your build process.
|
||||
Either add this to your make/rakefile, or add it as a post-
|
||||
build step in your Eclipse project settings.
|
||||
|
||||
|
||||
Unity unit test error parsers
|
||||
-----------------------------
|
||||
Severity Pattern File Line Description
|
||||
-------------------------------------------------------------------------------
|
||||
Error (\.+)(.*?):(\d+):(.*?):FAIL: (.*) $2 $3 $5
|
||||
Warning (\.+)(.*?):(\d+):(.*?):IGNORE: (.*) $2 $3 $5
|
||||
Warning (\.+)(.*?):(\d+):(.*?):IGNORE\s*$ $2 $3 Ignored test
|
||||
Reference in New Issue
Block a user