You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+50-32Lines changed: 50 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,31 +1,17 @@
1
1
# ***Fossil Test by Fossil Logic***
2
2
3
-
**Fossil Test** is a powerful and flexible unit testing, mocking, and benchmarking suite developed by Fossil Logic to ensure the reliability, clarity, and performance of **C**, **C++**, and **Python** projects. Supporting multiple development methodologies—including Behavior-Driven Development (BDD), Domain-Driven Design (DDD), and Test-Driven Development (TDD)—Fossil Test offers a versatile foundation for building high-quality, maintainable test suites across diverse workflows. Starting with version 1.1.8, it integrates **Jellyfish AI**, an intelligent system designed to apply AI where it makes sense—enhancing test coverage insights, feedback clarity, and overall developer experience.
4
-
5
-
The Fossil suite consists of three complementary frameworks to streamline the development and testing process:
6
-
7
-
-**Fossil Test**: The core unit testing framework that enables developers to create, manage, and execute unit tests effectively, ensuring each component functions as expected.
8
-
-**Fossil Mock**: A dedicated mocking library that simulates complex dependencies. Using mock objects, developers can isolate and thoroughly test individual components, improving the precision and reliability of test coverage.
9
-
-**Fossil Mark**: A benchmarking tool that provides detailed performance insights by measuring execution time, identifying bottlenecks, and offering in-depth reporting to optimize code efficiency.
10
-
11
-
Together, **Fossil Test**, **Fossil Mock**, and **Fossil Mark** — now supercharged with **Jellyfish AI** — offer a powerful, integrated toolkit for developing, testing, and optimizing robust software, making them an essential asset for developers committed to quality and performance.
12
-
13
-
---
14
-
15
-
## **Key Features**
3
+
**Fossil Test** is a comprehensive suite for unit testing, mocking, and benchmarking, designed by Fossil Logic to enhance the reliability, clarity, and performance of **C**, **C++**, and **Python** projects. Supporting methodologies like Behavior-Driven Development (BDD), Domain-Driven Design (DDD), and Test-Driven Development (TDD), it caters to diverse workflows with features such as a robust Command-Line Interface (CLI), advanced mocking tools, integrated benchmarking, and parallel test execution. With additional capabilities like customizable output themes, tag-based test filtering, and detailed performance insights, **Fossil Test**, alongside **Fossil Mock**, **Fossil Mark**, and **Fossil Sanity Kit** for testing command-line operations, forms a powerful toolkit for building, testing, and optimizing high-quality, maintainable software.
|**Jellyfish AI Integration**| Intelligent assistant for analyzing test coverage, diagnostics, and improving test clarity (available from v1.1.8 onward). |
20
-
|**BDD, DDD, and TDD Support**| Supports Behavior-Driven, Domain-Driven, and Test-Driven Development styles, catering to various project methodologies. |
21
-
|**Comprehensive Unit Testing**| A full suite of tools for creating, managing, and executing unit tests, ensuring that individual units of code behave as expected. |
22
-
|**Mocking Capabilities**| Powerful mocking features allow developers to simulate complex dependencies, ensuring focused and reliable unit tests. |
23
-
|**Performance Tracking**| Measures and reports the performance of each test case, helping developers optimize test execution time and performance. |
24
-
|**Command-Line Interface (CLI)**| A powerful CLI for running tests, generating reports, and managing the test suite, supporting automation and integration workflows. |
25
-
26
-
---
27
-
28
-
*Note: Jellyfish AI is developed as part of the Fossil Logic ecosystem and is tightly integrated with Fossil Test to offer non-intrusive, intelligent guidance throughout the testing process.*
7
+
|**Command-Line Interface (CLI)**| A robust CLI for executing tests, managing test suites, and generating reports, enabling seamless automation and integration workflows. |
8
+
|**Support for Multiple Testing Styles**| Fully compatible with Behavior-Driven Development (BDD), Domain-Driven Design (DDD), and Test-Driven Development (TDD) methodologies. |
9
+
|**Mocking Capabilities**| Advanced mocking tools to simulate complex dependencies, ensuring isolated and precise unit testing. |
10
+
|**Benchmarking Tools**| Integrated benchmarking features to measure execution time, identify bottlenecks, and optimize code performance. |
11
+
|**Sanity Kit for Command Tests**| A specialized suite for validating command-line tools and scripts, ensuring consistent behavior across environments. |
12
+
|**Customizable Output Themes**| Multiple output themes (e.g., fossil, catch, doctest) to tailor the appearance of test results. |
13
+
|**Tag-Based Test Filtering**| Organize and execute tests based on custom tags for better test management. |
14
+
|**Detailed Performance Insights**| Comprehensive reporting on test execution times and resource usage to aid in performance optimization. |
29
15
30
16
---
31
17
@@ -57,7 +43,7 @@ To get started with Fossil Test, ensure you have the following installed:
|`--version`| Displays the current version of Fossil Test. | Useful for verifying the version of the tool in use. |
85
71
|`--help`| Shows help message with usage instructions. | Provides a quick reference for all available commands. |
86
-
|`--info`| Displays detailed information about the test run. | Includes information such as test count, duration, and configuration. |
87
-
|`reverse [enable/disable]`| Enables or disables reverse order of test execution. | Useful for debugging or ensuring the tests don't depend on execution order. |
88
-
|`shuffle [enable/disable]`| Enables or disables shuffling of test execution order. | Helps identify order-dependent issues in the test suite. |
89
-
|`dry-run [enable/disable]`| Enables or disables dry run mode, showing which tests will execute without running them. | Ideal for verifying test selection criteria before actual execution. |
90
-
|`repeat <number>`| Repeats the test suite a specified number of times. | Handy for stress-testing or reproducing intermittent failures. |
91
-
|`color [enable/disable]`| Enables or disables colored output. | Enhances readability in supported terminals. |
92
-
|`format <plain, ci, jellyfish>`| Selects the output format for test results. | Affects how test data is displayed; useful for visual or machine-parsed output. |
93
-
|`summary <plain, ci, jellyfish>`| Sets the level of summary output after test execution. |`ci` is minimal, `jellyfish` is smart test mode, and `plain` is default classic. |
72
+
|`--dry-run`| Perform a dry run without executing commands. | Ideal for verifying test selection criteria before actual execution. |
73
+
|`--host`| Shows info about the current host system. | Useful for looking up system you are running test on. |
74
+
|`run`| Execute tests with optional parameters. | Supports additional options like `--fail-fast` and `--repeat`. |
75
+
|`filter`| Filter tests based on criteria. | Options include filtering by test name, suite name, or tags. |
76
+
|`sort`| Sort tests by specified criteria. | Allows sorting in ascending or descending order. |
77
+
|`shuffle`| Shuffle tests with optional parameters. | Includes options for specifying a seed or shuffle criteria. |
78
+
|`color=<mode>`| Set color mode (enable, disable, auto). | Enhances readability in supported terminals. |
79
+
|`theme=<name>`| Set the theme (fossil, catch, doctest, etc.). | Customizes the appearance of test output. |
80
+
|`verbose=<level>`| Set verbosity level (plain, ci, doge). | Adjusts the level of detail in test output. |
0 commit comments