You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From my perspective, the testing in a library looks really messy and requires a lot of improvements. The core problems is:
Frameworks mixing - base testing framework mixed with Ginkgo framework.
Only integration testing.
Testing against single Redis version only.
No test coverage calculation
My proposal is:
Choose a single testing framework and stick to it. I would argue that Testify would be a better choice and it's also compatible with base testing framework so it would be easier to migrate existing test cases.
Create a clear distinction between unit and feature tests and pay attention to unit test coverage.
Implement a system of conditional testing depends on a given context. It should be possible to limit a run of a specific test depends on environment (OSS vs Enterprise), server topology (single instance, cluster, with replication, sentinel etc.), server version.
Calculate existing test coverage and make sure that coverage threshold is on a "suitable" level. Test coverage metric should be added to CI to make sure that at least it remains on the same level with new changes to be introduced.
Extend documentation to describe new testing system.
With this changes we will have at least some kind of stable ground under the feet and will significantly improve code reliability and community trust to the library. Apart from that we will have a standardised and understandable testing system that aligns with a specific of a product we're testing against.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
From my perspective, the testing in a library looks really messy and requires a lot of improvements. The core problems is:
My proposal is:
With this changes we will have at least some kind of stable ground under the feet and will significantly improve code reliability and community trust to the library. Apart from that we will have a standardised and understandable testing system that aligns with a specific of a product we're testing against.
Beta Was this translation helpful? Give feedback.
All reactions