diff --git a/Rakefile b/Rakefile
index 445542e5c001f314e733a7c7d2128aedf8273994..eb2f158972d5c85227b7aa8e045e919189c0dfc6 100755
--- a/Rakefile
+++ b/Rakefile
@@ -4,6 +4,8 @@
 # Add your own tasks in files placed in lib/tasks ending in .rake,
 # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
 
+Rake::TaskManager.record_task_metadata = true
+
 require File.expand_path('config/application', __dir__)
 
 relative_url_conf = File.expand_path('config/initializers/relative_url', __dir__)
diff --git a/lib/tasks/test.rake b/lib/tasks/test.rake
index b24817468c6eeb4991244160a4b78d9e1591ed1c..c4eb9450b31fbff70e1bde01a8d2d64068ba2208 100644
--- a/lib/tasks/test.rake
+++ b/lib/tasks/test.rake
@@ -2,7 +2,16 @@
 
 Rake::Task["test"].clear
 
-desc "GitLab | Run all tests"
+desc "GitLab | List rake tasks for tests"
 task :test do
-  Rake::Task["gitlab:test"].invoke
+  puts "Running the full GitLab test suite takes significant time to pass. We recommend using one of the following spec tasks:\n\n"
+
+  spec_tasks = Rake::Task.tasks.select { |t| t.name.start_with?('spec:') }
+  longest_task_name = spec_tasks.map { |t| t.name.size }.max
+
+  spec_tasks.each do |task|
+    puts "#{"%-#{longest_task_name}s" % task.name} | #{task.full_comment}"
+  end
+
+  puts "\nLearn more at https://docs.gitlab.com/ee/development/rake_tasks.html#run-tests."
 end