In Rails 5.1, you can do bin/rails test
to run normal tests, and bin/rails test:system
. What is the Rails sanctioned way of running both at the same time?

- 4,603
- 5
- 31
- 47
-
I am not sure but can you try using `bin/rails test test:system`? It should load Rails' env and your app only once. – MrYoshiji Aug 21 '17 at 14:51
-
1Sadly didn't work; just ran the normal suite, not system tests. – chrismanderson Aug 21 '17 at 15:11
7 Answers
bin/rails test:system test
Specifying test:system
before test
will run both system and ordinary tests. The opposite order will only run the ordinary tests however.

- 1,210
- 10
- 16
-
Thank you for this answer. I've been using `simplecov` to verify my test coverage and this command really helps. `rails test` gets me 54.96%. 'rails test:system' gets me 42.82%, but `rails test:system test` runs both and gets me 78.64% coverage, so I can see the overlap. – Okomikeruko Aug 03 '20 at 17:14
rails test:all
(Rails 6.1+)
Rails 6.1 introduces a new command - rails test:all
.
It runs all test files in the test directory, including system tests.
Here is a link to PR. And also a link to the docs (please, scroll down to yellow box).

- 7,740
- 2
- 47
- 51
If it is your intention to run it using just $ rake
or $rake test
you can add into your Rakefile:
task test: 'test:system'
This will makes 'test:system' a "prerequisites" for "test" task

- 196
- 3
- 8
At least from the official rails guide, it seems there is no way of doing it:
By default, running bin/rails test won't run your system tests. Make sure to run bin/rails test:system to actually run them.
Ref: rails guide

- 89
- 3
- 5
You can also add this snippet in your lib/tasks folder, that will give you the option to do rake test:all
namespace :test do
desc "Run both regular tests and system tests"
task :all => 'test' do
Minitest.after_run {system('rake test:system')}
end
end

- 2,205
- 21
- 14
Summary of all the answers for easy reference:
System tests Only
bin/rails test:system
Ordinary tests Only
bin/rails test .
ALL tests
bin/rails test:all

- 33,477
- 14
- 111
- 80