Skip to content

Testing

starturtle edited this page Sep 26, 2020 · 3 revisions

This page contains research related to testing.

Test Environments

Criteria

  • Setup
    • Is simple enough to come without additional dependencies, or
    • Is easy to set up for use during GitHub Actions
    • Plays nice with CMake
  • Use Cases
    • Plays nice with Qt/Qml
    • Plays nice with OpenCV
    • Supports unit testing
  • C++ Syntax supported for unit tests
  • Nice output formatting
  • Open Source
    • Can be used without inferring GPL
    • Can be used without license cost
  • Minimally invasive
    • Doesn't require test harness code in production code
    • Doesn't require an overly large amount of further dependencies on the production outcome

Search Results

  • gtest (CMakeLists)
  • doctest (CMakelists, built into production code)

All of the above are licensed under MIT or equivalent. The alternatives were removed if

  • The repo reported that master branch wouldn't build
  • they wouldn't support C++14 or later
  • There were apparent quality issues in the code

After research, doctest seems to be the less difficult one to integrate. Therefore would opt for that, although it breaks the requirement of separate test and production code.

The first version of this page was created during issue #8.

Clone this wiki locally