# Rake TestTask running its block anytime rake is invoked

**URL:** <https://www.ruby-forum.com/t/rake-testtask-running-its-block-anytime-rake-is-invoked/114958>\
**Category:** Ruby\
**Created:** [September 19, 2007, 9:17am UTC](https://www.ruby-forum.com/t/rake-testtask-running-its-block-anytime-rake-is-invoked/114958 "2007-09-19T09:17:51Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![scudco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/aca169/32.png) [@scudco](https://www.ruby-forum.com/u/scudco)\
**Post date:** [September 19, 2007, 9:17am UTC](https://www.ruby-forum.com/t/rake-testtask-running-its-block-anytime-rake-is-invoked/114958/1 "2007-09-19T09:17:51Z")

</div>

–  
require ‘rake/testtask’

Rake::TestTask.new do |t|  
chdir ‘./…/’  
puts pwd  
end

## desc “print working directory” task :pwd do puts “Working Directory #{pwd}” end

$ rake -T  
cd ./…/  
/Users/scudco/projects  
rake chdir # change directory  
rake test # Run tests

$ rake chdir  
cd ./…/  
/Users/scudco/projects  
Working Directory /Users/scudco/projects

So the question is why does the chdir in the TestTask get executed every  
time no matter what? It is quite frustrating when code specific to a  
block is being executed for every other task. Any ideas?

---

<div class="post-metadata">

**Author:** ![scudco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/aca169/32.png) [@scudco](https://www.ruby-forum.com/u/scudco)\
**Post date:** [September 19, 2007, 10:40am UTC](https://www.ruby-forum.com/t/rake-testtask-running-its-block-anytime-rake-is-invoked/114958/2 "2007-09-19T10:40:45Z")

</div>

–  
require ‘rake/testtask’

Rake::TestTask.new do |t|  
chdir ‘./…/’  
puts pwd  
end

## desc “print working directory” task :pwd do puts “Working Directory #{pwd}” end

$ rake -T  
cd ./…/  
/Users/scudco/projects  
rake pwd # print working directory  
rake test # Run tests

$ rake pwd  
cd ./…/  
/Users/scudco/projects  
Working Directory /Users/scudco/projects
