mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
bring back TEST
env for rake test
.
Closes #23027. This does not restore complete backwards compatibility. It simply passes the contets of the `TEST` env to the new runner.
This commit is contained in:
parent
f718e52bcc
commit
64448c29de
3 changed files with 21 additions and 1 deletions
|
@ -1,3 +1,7 @@
|
|||
* Bring back `TEST=` env for `rake test` task.
|
||||
|
||||
*Yves Senn*
|
||||
|
||||
* Specify log file names or all logs to clear `rake log:clear`
|
||||
|
||||
Specify which logs to clear when using the `rake log:clear` task, e.g. `rake log:clear LOGS=test,staging`
|
||||
|
|
|
@ -7,7 +7,12 @@ task default: :test
|
|||
desc "Runs all tests in test folder"
|
||||
task :test do
|
||||
$: << "test"
|
||||
Minitest.rake_run(["test"])
|
||||
pattern = if ENV.key?('TEST')
|
||||
ENV['TEST']
|
||||
else
|
||||
"test"
|
||||
end
|
||||
Minitest.rake_run([pattern])
|
||||
end
|
||||
|
||||
namespace :test do
|
||||
|
|
|
@ -450,6 +450,17 @@ module ApplicationTests
|
|||
assert_match(%r{cannot load such file.+test/not_exists\.rb}, error)
|
||||
end
|
||||
|
||||
def test_pass_TEST_env_on_rake_test
|
||||
create_test_file :models, 'account'
|
||||
create_test_file :models, 'post', pass: false
|
||||
|
||||
output = Dir.chdir(app_path) { `bin/rake test TEST=test/models/post_test.rb` }
|
||||
|
||||
assert_match "PostTest", output, "passing TEST= should run selected test"
|
||||
assert_no_match "AccountTest", output, "passing TEST= should only run selected test"
|
||||
assert_match '1 runs, 1 assertions', output
|
||||
end
|
||||
|
||||
private
|
||||
def run_test_command(arguments = 'test/unit/test_test.rb')
|
||||
Dir.chdir(app_path) { `bin/rails t #{arguments}` }
|
||||
|
|
Loading…
Reference in a new issue