-
-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
Configure streaming spec via rspec tags #27932
Conversation
Future plans this enables:
I know there are concerns about some combination of naming these things, keeping them separated from each other enough to run them appropriately, not need to spin up the whole streaming setup when not needed, etc -- and I believe these changes and that "roadmap" would more or less do that, but happy to consider anything I've missed. Hopefully it's easier to contemplate actual change proposal and not get hung up on terminology differences. |
d4b027f
to
7c5bba1
Compare
7c5bba1
to
51b09b1
Compare
This pull request has merge conflicts that must be resolved before it can be merged. |
End-to-end testing is not only streaming server integration testing. The end-to-end tests are intended to test the frontend using a real browser. This includes using the streaming server, but this is not the primary goal. To me, end-to-end tests are system tests, ie tests that are using a stack as close as possible as a real deployment. They are done using a real browser, real database, and real server. The other End-to-end tests should always run in the same environment, and I dont think we should let them use the streaming server / real browser / … or not. From what I understand, system tests in Rails are intended to be the end-to-end tests I described above. If you want to move the feature tests to system tests, then I would prefer having something like |
I agree with the spirit of that summary and don't want to get bogged down in the semantics/definitions. I will attempt to pull out just the capybara config update, and the "catch js errors" portions of this and the other PR, and we can continue to iterate past that. I do think that a setup like this might ultimately make sense (whether it's done with tags or a dedicated dir which generates a new tag/type ... I don't really care), but I'm happy to get there one smaller step at a time instead of assuming it's correct before we move more things. Will open new PRs on config/js stuff next. |
51b09b1
to
af3972d
Compare
This pull request has resolved merge conflicts and is ready for review. |
Rebased this after the capybara config changed merged. Will rebase again after JS errors merge and see if anything useful left, or close. |
This pull request has merge conflicts that must be resolved before it can be merged. |
fede14c
to
4dd18be
Compare
This pull request has resolved merge conflicts and is ready for review. |
4dd18be
to
902f02f
Compare
902f02f
to
0d534e5
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #27932 +/- ##
==========================================
- Coverage 85.01% 84.84% -0.18%
==========================================
Files 1059 1038 -21
Lines 28277 28149 -128
Branches 4538 4536 -2
==========================================
- Hits 24040 23883 -157
- Misses 3074 3101 +27
- Partials 1163 1165 +2 ☔ View full report in Codecov by Sentry. |
0d534e5
to
c8205eb
Compare
c8205eb
to
98da776
Compare
Related to #27882 (recently merged changes for search specs) and #27732 (capybara config) and conversation here - #27732
There changes here are similar to the search one...
The branch this came out of also had the capybara config changes ... I've attempted to rebase and pluck out just the streaming system spec changes w/out the capybara changes; but if one of them is merged the other one will probably need a rebase to also go in. My preference would be merge capybara config first, but either way is fine.