require "isolation/abstract_unit" module ApplicationTests module RakeTests class RakeDevTest < ActiveSupport::TestCase include ActiveSupport::Testing::Isolation def setup build_app end def teardown teardown_app end test "dev:cache creates file and outputs message" do Dir.chdir(app_path) do output = `rails dev:cache` assert File.exist?("tmp/caching-dev.txt") assert_match(/Development mode is now being cached/, output) end end test "dev:cache deletes file and outputs message" do Dir.chdir(app_path) do `rails dev:cache` # Create caching file. output = `rails dev:cache` # Delete caching file. assert_not File.exist?("tmp/caching-dev.txt") assert_match(/Development mode is no longer being cached/, output) end end test "dev:cache removes server.pid also" do Dir.chdir(app_path) do FileUtils.mkdir_p("tmp/pids") FileUtils.touch("tmp/pids/server.pid") `rails dev:cache` assert_not File.exist?("tmp/pids/server.pid") end end end end end