Side by side
CppUTest vs FsCheck
Both stand on unit testing frameworks. Which one you can start free with, which one lets you read the code, and what each costs once you pay.
Free plan LinuxMacSelf-hosted+1
CppUTest provides a portable C/C++ testing framework with assertions, mocking, memory checks, and CI output. Users building from packages should note that MakefileWorker.mk is limited to source builds.
Visit CppUTest Free plan LinuxMacWindows
Choose FsCheck if you want a free, BSD-licensed library for property-based checks in .NET and need generated inputs with minimized failure examples. Look elsewhere if you depend on the experimental stateful API’s compatibility guarantees or need the documented exception-expectation function from C#.
Visit FsCheckThe facts
| CppUTest | FsCheck | |
|---|---|---|
| Free plan | Yes | Yes |
| Open source | Not published | Not published |
| Runs on | Linux, Mac, Self-hosted, Windows | Linux, Mac, Windows |
| Lowest paid plan | Free or on request | Free or on request |
| Plans published | 1 | 1 |
| Maker | Not published | Not published |
| Website | cpputest.github.io | fscheck.github.io |
| On unit testing frameworks | #1 of 32 | #2 of 32 |
CppUTest: what it does well
- Supports C and C++ tests
- Includes mocking and memory leak detection
- Provides JUnit-style and TeamCity XML output
- Offers multiple documented build and package options
- BSD-3-Clause license
What to know first
- MakefileWorker.mk is not supported by pre-packaged installs
- Project support is directed to Google Groups and GitHub issues
FsCheck: what it does well
- Checks properties using randomly generated inputs.
- Supports properties written in F#, C# and VB.
- Shrinks failures to minimal counterexamples.
- Allows custom generators and shrinkers grouped as Arbitrary instances.
- Supports parameterized cases and parallel execution.
What to know first
- The documentation covers version 2.x and is described as outdated and incomplete.
- Experimental stateful testing has no semantic-versioning guarantees.
- Properties cannot have generic types.
- The documented exception-expectation function is unavailable in the C# API.
Alternatives to CppUTest Alternatives to FsCheck The whole list