Thursday, July 8, 2010

Live testing with Autotest

Unit tests represents the security belt of software development. But having a security belt doesn't mean it's always fastened. You take a look at a piece code, have fun hacking it, submit the new code without checking all tests are green... it's easy to forgot there's tests here. Autotest automatically runs tests for you.

Test Driven Development ensures test exhaustivity, reasonning on design and so on. You stop and run tests very often to check the health of your code. In your car you don't stop driving, hands off the wheel in order to check the speed. Autotest provides a real time dashboard so you don't stop coding.

Testing is always here. Now you can drive.

Download screencast (800x600): .mpeg 10.7 MB, .mov 38.2 MB

Voice recorded by Christoph Budzinski.

Update 10/04/2011: To get OB integration in Pharo 1.2:

Gofer it 
 squeaksource: 'MetacelloRepository';
 package: 'ConfigurationOfAutotest';
 load.
 
ConfigurationOfAutotest project latestVersion load: #OB.






Load Autotest:

Gofer new
    squeaksource: 'Autotest';
    package: 'ConfigurationOfAutotest';
    load.

(ConfigurationOfAutotest project version:'1.0') load: 'Dev'.

Pharo 1.1 is required. Download the image

Autotest detects a method has been modified/added using Annoucements Framework.

To calculate hit count, Autotest wraps the changed method as described in Prototyping Languages Related Constructs and Tools with Squeak by Alexandre Bergel and Marcus Denker.

6 comments:

  1. Just brilliant :) and so easy to use, instalation and configuration autotest for ruby and rails under i.e. ubuntu takes 10x times more and you have to use 10 different libraries with bilions of files.

    ReplyDelete
    Replies
    1. As I commented below, same story in the Java/Eclipse world. Nothing near the simplicity of this tool.

      Delete
  2. Fix "Autotest detects a method has been modified/added using Annoucements Framework." because the link to announcement is now http://book.pharo-project.org/book/LanguageAndLibraries/announcements/

    Laurent, excellent work , I can't stop of see your videos!

    ReplyDelete
  3. This is an amazing feature. Thanks for sharing this, and making it known.

    I remember looking for a similar (free) tool for Eclipse, without happy results. They were there, but the experience was not as straightforward.

    Again, Pharo/Smalltalk devs get this practically for free :-)

    ReplyDelete