Skip to content
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

Add integration tests to ETL #2698

Closed
Marigold opened this issue May 27, 2024 · 2 comments
Closed

Add integration tests to ETL #2698

Marigold opened this issue May 27, 2024 · 2 comments
Labels
priority 3 - nice to have wontfix This will not be worked on

Comments

@Marigold
Copy link
Collaborator

Our unit test coverage isn't high. That's not necessarily a bad thing, though. It allows us to develop faster, and if there's a problem, we typically catch it quickly because of Bugsnag error monitoring. Still, I find myself manually testing our Streamlit apps when, for example, refactoring internal code (such as the recent SQLAlchemy upgrade). It's also frustrating for our users when things don't work, and no one is around to fix them.

I don't think that blindly increasing unit test coverage is the answer. The problem is that Streamlit apps are complex, and they interact with databases, which are non-trivial to mock. Is there any low-hanging fruit that would increase our coverage, keep tests simple (without requiring changes with every update), and be non-invasive? Some ideas:

  • Spin up a real MySQL database from our S3 backup and run integration tests against it.
  • Fill a MySQL database with mock data automatically from our SQLAlchemy ORM and run integration tests on it.
  • Test that all Wizard apps can start without an error (in the past, we've had import errors and trivial initialization issues that would have been detected by this).

It'd be interesting to hear others' thoughts. As I mentioned, it's also possible that testing just isn't worth our time and we should focus on something else.

Copy link

stale bot commented Aug 5, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Aug 5, 2024
@Marigold
Copy link
Collaborator Author

Marigold commented Aug 5, 2024

We have integration tests for Wizard and they work against staging MySQL database (with read-only access).

@Marigold Marigold closed this as completed Aug 5, 2024
@larsyencken larsyencken closed this as not planned Won't fix, can't repro, duplicate, stale Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority 3 - nice to have wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants