-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EPIC: Integration test framework #14145
Comments
This was referenced Jan 4, 2023
This was referenced Jan 5, 2023
This was referenced Jan 5, 2023
This was referenced Jan 5, 2023
19 tasks
This was referenced Jan 9, 2023
This was referenced Jan 9, 2023
19 tasks
19 tasks
19 tasks
This was referenced May 3, 2023
19 tasks
double checking on this epic, is it up to date with the latest changes? |
yes, for the remaining modules either tests are not verified for duplication / partially deduplicated tests. |
closing this and opening a new epic around dedupication of e2e/cli/integration tests |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
All forms of testing it important when developing an application. Secondly, having a testing framework for different levels of testing (unit, integration, e2e) provides a seamless way for users to write clean and reliable tests.
Currently, there is not an integration framework available.
Problem Definition
To write an integration test suite for a module, users must build an application or use their app.go for testing. This creates a test environment that is in-between an e2e test and integration test. Secondly, the e2e tests are not well-defined and require tendermint on top of modules that are not needed in a modules testing (staking, auth, bank, params, consensus, etc..)
Work Breakdown
Design and implement an integration framework for applications that only requires the module and its dependencies to be included in the dependency graph. This could be something as simple as a few routers for queries, messages, and anything else that is needed, but not an entire application that requires things like staking if it's not required.
Secondly, this integration framework could later be used for benchmarking specific logic of a module without the need to spin up an application.
Preliminary phase
testify
usage bygotest.tools
#12332 (this issue should not be closed until the whole SDK is migrated)testify
withgotest.tools
inintegration/genutil
tests #14492testify
withgotest.tools
in inintegration/distribution
tests #14494testify
withgotest.tools
inintegration/store
tests #14496testify
withgotest.tools
inintegration/gov
tests #14500testify
withgotest.tools
inintegration/bank
tests #14493testify
withgotest.tools
inintegration/slashing
tests #14498integration/staking
tests #14503Phase 1
x/distribution
to use integration test framework #14678x/staking
to use integration test framework #14677Phase 2
tests/integrations
for all modulesThe text was updated successfully, but these errors were encountered: