ZenTest: March 2006 Archives

ZenTest 3.1.0 Released

| | Comments (5)

We've been pushing hard on ZenTest and I'm proud to announce that we just released ZenTest 3.1.0! In this release we've added multiruby and massively enhanced autotest. I have to admit, I'm falling for autotest in much the same way Eric fell for unit_diff. Unfortunately for both of us, marrying software isn't legal in Washington state.

Install Now, Read Later

sudo gem install ZenTest or visit the rubyforge project.

I'm going to write up some real stuff on using multiruby and autotest, but for now here is the standard marketing blurbies:

ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby.

ZenTest scans your target and unit-test code and writes your missing code based on simple naming rules, enabling XP at a much quicker pace. ZenTest only works with Ruby and Test::Unit.

unit_diff is a command-line filter to diff expected results from actual results and allow you to quickly see exactly what is wrong.

autotest is a continous testing facility meant to be used during development. As soon as you save a file, autotest will run the corresponding dependent tests.

multiruby runs anything you want on multiple versions of ruby. Great for compatibility checking!

Changes:

2 major enhancements

+ Added multiruby! YAY! + Massive improvements to autotest: speed, reliability, reporting, etc.

10 minor enhancements

+ multiruby builds in a centralized location. YAY! + multiruby now allows reinstalls quickly and easily (can even skip config). + multiruby exits with total sum of exit codes. + autotest file search is muuuuch faster. + autotest automatically detects rails mode. + autotest deals with rails dependencies much better. + autotest reruns a full suite after you go green to ensure full coverage. + autotest always runs with unit_diff -u. + autotest can now run cvs/svn/p4 up periodically to be a mini-tinderbox. + autotest now has real help.

4 bug fixes

- ZenTest is now zentest. Yay for consistency! (do a rake uninstall to clean) - ZenTest excludes pretty_print methods. - Fixed unary operator issues (they were backwards... oops!) for ZenTest. - unit_diff now runs diff.exe on Windoze. dunno if that will work.

Good ZenTest links

| | Comments (1)

I haven't done nearly enough to thank Pat Eyler for all his great work writing about ZenTest. He's done an awesome job of getting the word out there about ZenTest (and pretty much everything else we do). Here is some of the stuff he's written:

Welcome to The Gemcutter's Workshop covers ZenTest, unit_diff, and autotest along with a plethora of other great testing and development tools.

How to Use ZenTest with Ruby - included with ZenTest - covers refactoring and unit testing in the more traditional (non-TDD sense).

Test-first Ruby programming (requires login) - shows how to use ZenTest with in a test-first environment.

Again... thanks Pat!

great hacking tonight

| | Comments (1)

Tonight's Seattle.rb weekly hackfest featured Francis Hwang who is in Washington visiting his family this week. Good food and much fun was had. Eric Hodel and I did some bug squashing and feature implementing on ZenTest. We actually closed out every bug on ZenTest so I'll be releasing tomorrow!

I also wrote a small emacs library called toggle.el that lets you teach it a bunch of patterns so it can easily toggle between two related files. A simple example of that is "blah.rb and "test_blah.rb", but I've provided it with patterns to work with rubygems-style "lib/blah.rb" and "test/test_blah.rb" and rails-style "app/model/blah.rb" and "test/unit/blah_test.rb" as well. It is pretty clean and you can use it for any languages you want. I've been wanting this in emacs for a while and am surprised that I haven't found something like it yet (the reason I got on #emacs was "most people probably roll their own"). I'll be releasing that tomorrow as well.

multiruby is awesome

| | Comments (0)

Testing across multiple versions of ruby has flushed a bunch of potentially lethal bugs in ParseTree. Nothing huge in the actual logic of ParseTree, but logical testing errors that could have hidden nasty problems (or shown false negatives that were near impossible to debug). Absolutely lovely. And the ability to simply drop in a new tarball of ruby and have it automatically configured, built, installed, and used on your next run is even more lovely.

ZenTest 3.1.0 will release with multiruby within the next week, along with improvements to autotest.

Coming Soon: multiruby

| | Comments (0)
Lets say you maintain a library or tool that could be sensitive to particular changes in ruby. In my case, ParseTree is very dependent on the internals of ruby staying the same. Maybe in your case you are using some methods that changed their argument semantics (they way public_methods changed in 1.8). Making sure your code worked from version to version is a bit of a pain.

Until now.

% ./bin/multiruby -I../../RubyInline/dev ../../RubyInline/dev/test_inline.rb 

VERSION = 1.8.2

Loaded suite ../../RubyInline/dev/test_inline
Started
...................................................
Finished in 3.385808 seconds.

51 tests, 78 assertions, 0 failures, 0 errors

RESULT = 0

VERSION = 1.8.3

Loaded suite ../../RubyInline/dev/test_inline
Started
...................................................
Finished in 3.21357 seconds.

51 tests, 78 assertions, 0 failures, 0 errors

RESULT = 0

VERSION = 1.8.4

Loaded suite ../../RubyInline/dev/test_inline
Started
...................................................
Finished in 3.642159 seconds.

51 tests, 78 assertions, 0 failures, 0 errors

RESULT = 0

This will be released with ZenTest very very soon.

ZenTest 3.0.0 released

| | Comments (1)

I'm proud to say that we've finally released ZenTest 3.0!

ZenTest has had a nice overhaul, is much better on working with rails, and has better support for naming conventions. unit_diff has been solidified into a scary monster I can't live without. New to the game is autotest, a continuous testing tool (originally for rails) that gives you near-immediate feedback as you develop and refactor. Oh, and it is now available as a gem and uses rake (so it should be a better citizen on Windows).

Please, check it out and let us know what you think!

About this Archive

This page is a archive of entries in the ZenTest category from March 2006.

ZenTest: June 2005 is the previous archive.

ZenTest: April 2006 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Pages

Powered by Movable Type 4.1