Posts

Showing posts from February, 2010

Shoulda test macro for acts_as_state_machine

In this post I will talk about shoulda macro for state_machine to facilitate TDD. So lets get familiar with these at first (want to skip the intro! ok, just  jump to code  ;) Acts_as_state_machine : A really powerful plugin to incorporate state machine in rails application. In scrumpad we are using this plugin and it made the implementation such a fun that everyone here just love to take this work 8). You can  take a look  to see how this plugin makes everything for you in a blink of eye. Shoulda : "The Shoulda gem makes it easy to write elegant, understandable, and maintainable Ruby tests"- Thoughtbot Community . Yes, shoulda really makes your test codes speak. You will be able to define your every test cases exactly in the way that you would probably state to someone. TDD : Firstly programming without test code, impossible!! And, if your application is written in any dynamic language(e.g: ruby, php) then TDD is the must. In TDD practice at first you will define and wr

Selenium RC 1.0.1 with Firefox 3.6

The last day I get stuck while I was writing my automated test codes with selenium but using firefox 3.6 . Selenium was failing to open the firefox browser session because selenium RC 1.0.1 does not support firefox 3.6 by default. You know what I did? I did nothing but some googling as everyone does :) and found an excellent post on describing this problem. Here it is [ http://www.qaautomation.net/?p=15 ]. Well you will have a lot of commands to read there. But in a nutshell all you need to do is modify the firefox version in following 5 files in the selenium-server.jar archive. ./customProfileDirCUSTFF/extensions/{538F0036-F358-4f84-A764-89FB437166B4}/install.rdf ./customProfileDirCUSTFF/extensions/readystate@openqa.org/install.rdf ./customProfileDirCUSTFFCHROME/extensions/{503A0CD4-EDC8-489b-853B-19E0BAA8F0A4}/install.rdf ./customProfileDirCUSTFFCHROME/extensions/{538F0036-F358-4f84-A764-89FB437166B4}/install.rdf ./customProfileDirCUSTFFCHROME/extensions/readystate@openqa.org/

Writing test code for ApplicationController

Did you ever try to write functional test code for ApplicationController? You might have faced such situations where you needed to test some methods of your application controller. Well when you will start testing a method of your ApplicationController, you would probably have a "aha" moment - "If I had a view file for that method!!". Yes the problem is template missing error.  Usually the methods in ApplicationController dont have a corresponding template. Therefore, sending test request to those methods will definitely raise an ActionView::MissingTemplate error. So what you need to do is just tell the ApplicationController - "Please dont raise any template missing exception. I am testing your methods :)". But how will you tell this? Simple, just override the rescue_action method and raise nothing!! Just like the following: class ApplicationController def rescue_action(e) end end Yes, this will keep all the exceptions away from you. However,