Our test helpers are scattered, poorly documented, and incomplete. We should do a better job.
Component:
[ ] Code
[x] Documentation
[ ] Build system
[x] Continuous integration
Desired feature:
[x] Test helpers are moved into their own directory so they can be found and easily documented
[ ] It would be useful to have TestTags and TestItems that can be included instead of duplicated in multiple tests
[ ] Make sure TestHelpers are properly documented and show up in the Doxygen (as we exclude test directories by default)
[ ] Split monolithic test helper files into smaller ones.
Detailed discussion:
Here are some initial thoughts (with @nilsdeppe).
Introduce dir tests/Unit/Helpers inside which we would have files such as Serialization, MoveSemantics, NonCopyable, Comparators, Iterators, ...
Move current test helpers from specific dirs such as tests/Unit/Domain/CoordinateMaps/TestMapHelpers.hpp to subdirs in test/Unit/Helpers, and splitting them into smaller files which are compiled into libs that can be linked
Make the TestHelpers namespace standard, and create a TestHelpers::Tags namespace that holds commonly used test tags.
Move files in tests/Utilities/ to test/Unit/Helpers
Feature request:
Our test helpers are scattered, poorly documented, and incomplete. We should do a better job.
Component:
Desired feature:
Detailed discussion:
Here are some initial thoughts (with @nilsdeppe).
tests/Unit/Helpers
inside which we would have files such asSerialization
,MoveSemantics
,NonCopyable
,Comparators
,Iterators
, ...tests/Unit/Domain/CoordinateMaps/TestMapHelpers.hpp
to subdirs intest/Unit/Helpers
, and splitting them into smaller files which are compiled into libs that can be linkedTestHelpers
namespace standard, and create aTestHelpers::Tags
namespace that holds commonly used test tags.tests/Utilities/
totest/Unit/Helpers