Choose other test framework when ruby-lsp-rails not present #1267
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
ruby-lsp chooses 'rails' framework when rails is present in the gem dependencies list, so that ruby-lsp-rails can add its own testing commands. But this can be confusing if somebody installs ruby-lsp without also installing ruby-lsp-rails on a rails project, because the test commands will not show up at all. Ideally a dialogue in the relevant extension would prompt the user to install ruby-lsp-rails, but ruby-lsp should select the available testing framework.
Implementation
If ruby-lsp-rails is not present look for minitest or test-unit instead.
Automated Tests
I updated the tests to handle the new case. There is one failing test that was preexisting.
Manual Tests
I tested this inside Vscode