Approval Tests for C99. This is a plain/portable C 99 version of Approval Tests.
Unit testing asserts can be difficult to use. Approval tests simplify this by taking a snapshot of the results, and confirming that they have not changed.
In normal unit testing, you say
assert_int_equal(5, person->age). Approvals allow you to do this when the thing that you want to assert is no longer a primitive but a complex object. For example, you can say,verify_txt(person_to_string(person)).
- Verify using
verify_txt()andverify_xml()macros with cmocka. - Format XML before verification, so approved file is readable.
- See
example/ExampleTest. - Release binaries for Windows x64 and Linux x64.
- Add reporters: quiet reporter prints the copy command and diff reporters open an external diff tool.
- Extensive list of predefined diff tools for
approval_first_working_diff. - See
example/ReporterExampleTest. - Verify without cmocka using plain
assert. - See
example/NoFrameworkExampleTest. - Release binaries for Windows x86 and Linux x86, too.
See the tests in ./example folder.
Compile and run a cmocka test which uses approvals using the binary distribution:
gcc -std=c99 -pedantic -pedantic-errors -Wall -Wextra ...
ExampleTest.c
-l cmocka -l approvals
-o ExampleTest.exe
./ExampleTest.exe
Building under Windows creates the library stub (in ./lib) and thd dynamic library (in ./bin).
For Linux this command creates the shared library (in ./lib).
make build
Copyright (c) 2020, Peter Kofler. All rights reserved.
New BSD License, see LICENSE in repository.