There's currently 3 implementations of the Persister database/persister.go interface, which includes all database functions.
Each packages have the same (99%) identical tests code. For instance, cecking the number of lines in the memory's base.go file vs. the mongo's one:
$ wc -l database/memory/base_test.go
406 database/memory/base_test.go
$ wc -l database/mongo/base_test.go
406 database/mongo/base_test.go
Brain storming
- Can we remove all this duplication and have one set of test that can tests all implementation?
- At the moment I created some entry in the
Makefile to target specific database engine implementation, this is useful when implementing a new feature to only run tests for the currently develop provider. I would not want to lose this after no. 1.
There's currently 3 implementations of the
Persisterdatabase/persister.gointerface, which includes all database functions.Each packages have the same (99%) identical tests code. For instance, cecking the number of lines in the
memory'sbase.gofile vs. themongo's one:Brain storming
Makefileto target specific database engine implementation, this is useful when implementing a new feature to only run tests for the currently develop provider. I would not want to lose this after no. 1.