evmone icon indicating copy to clipboard operation
evmone copied to clipboard

Migrate from GoogleTest to Catch2

Open chfast opened this issue 1 year ago • 0 comments

Replace the GoogleTest (gtest) unit test library with Catch2 or some other alternative.

Tests in Catch2 looks simpler than in GoogleTest.

  • Parametrized tests. E.g. imagine writing the same state transition test for a set of EVM revisions. This is impractical in GoogleTest and the only option is to use a loop.
    • gtest: http://google.github.io/googletest/reference/testing.html#TEST_P
    • catch2: https://github.com/catchorg/Catch2/blob/devel/docs/generators.md
  • Sections
  • Tags
  • BDD. Seems very useful for complex state tests: e.g. call a contract, then it selfdestructs, then it is called again...

chfast avatar Jan 11 '24 20:01 chfast