Skip to content

Commit

Permalink
Add rails test:channels.
Browse files Browse the repository at this point in the history
Add this rake task to test channels only.
We've added `rails test:mailboxes` recently in the same way rails#34828.
  • Loading branch information
bogdanvlviv committed Jan 16, 2019
1 parent a43052c commit d7097cf
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 3 deletions.
4 changes: 4 additions & 0 deletions railties/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
* Add `rails test:channels`.

*bogdanvlviv*

* Use original `bundler` environment variables during the process of generating a new rails project.

*Marco Costa*
Expand Down
2 changes: 1 addition & 1 deletion railties/lib/rails/test_unit/testing.rake
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace :test do
desc "Run tests quickly, but also reset db"
task db: %w[db:test:prepare test]

["models", "helpers", "controllers", "mailers", "integration", "jobs", "mailboxes"].each do |name|
["models", "helpers", "channels", "controllers", "mailers", "integration", "jobs", "mailboxes"].each do |name|
task name => "test:prepare" do
$: << "test"
Rails::TestUnit::Runner.rake_run(["test/#{name}"])
Expand Down
15 changes: 13 additions & 2 deletions railties/test/application/test_runner_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,17 @@ def test_run_units
end
end

def test_run_channels
create_test_file :channels, "foo_channel"
create_test_file :channels, "bar_channel"

rails("test:channels").tap do |output|
assert_match "FooChannelTest", output
assert_match "BarChannelTest", output
assert_match "2 runs, 2 assertions, 0 failures", output
end
end

def test_run_controllers
create_test_file :controllers, "foo_controller"
create_test_file :controllers, "bar_controller"
Expand Down Expand Up @@ -167,11 +178,11 @@ def test_run_integration
end

def test_run_all_suites
suites = [:models, :helpers, :unit, :controllers, :mailers, :functional, :integration, :jobs, :mailboxes]
suites = [:models, :helpers, :unit, :channels, :controllers, :mailers, :functional, :integration, :jobs, :mailboxes]
suites.each { |suite| create_test_file suite, "foo_#{suite}" }
run_test_command("") .tap do |output|
suites.each { |suite| assert_match "Foo#{suite.to_s.camelize}Test", output }
assert_match "9 runs, 9 assertions, 0 failures", output
assert_match "10 runs, 10 assertions, 0 failures", output
end
end

Expand Down

0 comments on commit d7097cf

Please sign in to comment.