Autotest Problems

Here is some problem that I encountered while ruby on rails development. You might know about TDD (Test Driven Development). Now since autotest can be used to speed up and automate the testing process somewhat and spork can be used to reduce the amount of time require d to run the tests. This becomes crucial that your tests are running smoothly.

The problem I encountered was that autotest continuously kept on testing all the cases.  Autotest is supposed to run only when there is any change made to the files that are referred in the test cases. So my autotest wasnt stopping even when I wasnt making any change. Autotest is a CPU intensive task, so it was necessary for me to find a workaround so it stops testing again and again till I actually make some changes..

The workaround to stop autotest from running if you dont make any change is  to add these lines to your .autotest file

autotest.add_exception %r{^\./db}
autotest.add_exception %r{^\./log}

My .autotest file looks like

require ‘autotest/growl’ # enable pop-up windows
require ‘autotest/restart’ # optional: forces autotest to pick the changes to this file
require ‘autotest/timestamp’ # optional: shows timestamps for test runs

# filter out VCS files and other garbage to reduce HDD usage

Autotest.add_hook :initialize do |autotest|
%w{.git .svn .hg .DS_Store ._* vendor tmp log doc}.each do |exception|
autotest.add_exception %r{^\./db}
autotest.add_exception %r{^\./log}

# do not clear console before running tests
Autotest::Growl::clear_terminal = false


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.