sageserpent-open / americium

Generation of test case data for Scala and Java, in the spirit of QuickCheck. When your test fails, it gives you a minimised failing test case and a way of reproducing the failure immediately.
MIT License
15 stars 1 forks source link

Hive off JUnit support into its own extension library. #74

Open sageserpent-open opened 8 months ago

sageserpent-open commented 8 months ago

The core functionality of Americium has nothing to do with JUnit, but the integrations with JUnit5 are very convenient both for traditional Java + JUnit5 development and also for Scala work, stepping out of the Scalatest / uTest / MUnit zones and using JUnit5 with Expecty as the assertion language.

So for me, @sageserpent-open , it's very convenient to have JUnit5 support baked into the library. However, if the desire to have integrations with other testing frameworks emerges, then it's best to have extension libraries for each additional testing framework.

In this case, we should hive off the JUnit5 support into its own project - good enough to have both core Americium and JUnit5 integration has subprojects in the same overall SBT build and repository.

For the time being, marking this as a 'won't fix' until the demand for other integrations materialises...

sageserpent-open commented 8 months ago

For the time being, the JUnit5 integration uses the core's RocksDB database to store a mapping from UniqueId (from JUnit5, not the Americium one) to a recipe. When the split is done, the database should be split also.