Jeek project: primo rilascio

February 26 2007

finalmente ho pubblicato il progetto Jeek, un generatore di classi stub/mock per il testing di unità in .NET. si tratta della versione iniziale (che ho indicato come 0.1 alpha) che corrisponde alle prime due iterazioni di sviluppo. al momento quindi copre solo la generazione di classi concrete (fake) e stub ed è avviabile da riga di comando.

si tratta del progetto che ho realizzato come caso di studio per la mia tesi di laurea specialistica (di cui parlavo in alcuni post precedenti), ma che sto continuando a portare avanti nel tempo libero. l’interesse principale credo sia nella lettura dei vari test (di accettazione, di integrazione e di unità).

infine, ecco le note sul rilascio:

Jeek is a stub and mock class generator for .NET, aiming to support Test-Driven Development.
Jeek is an open-source project, using open-source tools (libraries, build tools and IDE).

This distribution contains
– src directory: source code, including acceptance tests (FIT fixtures), integration tests and unit tests of each component
– lib directory: additional libraries
– docs directory: acceptance test pages that can be set up in a FitNesse instance

This distridution is a modified snapshot taken from a Continous Integration server, set up with Subversion, Nant, and CruiseControl.NET. To make the source distribution as thin as possible, all build tools and scripts have been removed (maybe soon they will be available on public source repository).

So, to perform a build, start msbuild on Jeek.sln.
You can also open the solution file with your favourite IDE (Jeek has been deveoped with SharpDevelop, but runs on Visual Studio too).

Details of what Jeek does are available as wiki pages and acceptance tests for FitNesse, so this could be a good starting point. Extract archive in your FitNesse folder and point a browser on [fitnesse_root]/JeekProject, where [fitnesse_root] is your fitnesse url.

For each iteration, there’s a page listing user stories developed. See ‘Current iterations’ section on homepage. If you wish to run tests, remember to edit configuration on the homepage (PATH_DIR and FITNESSE_FILES_ROOT values).

For implementation details, give unit tests a try and start reading source code in Jeek.Console.Test and Jeek.Core.Test.

Jeek is released under LGPL license (see COPYING.txt).

Jeek uses other open source libraries and tools:
– NRefactory, LGLP
– NUnit, free license
– Rhino.Mocks, BSD license
– Castle.DynamicProxy (used by Rhino.Mocks), Apache Software Foundation License 2.0
– Fit, GNU General Public License
– FitLibrary, GNU General Public License version 2 or later

Jeek has been developed as a project for a master thesis on Test-Driven Development. Hope someone could find interesting or usefull, but the main intent was to explore methodologies and tools, not to develope *yet another* holy-grail for unit testing: great tools are already available (eg, those used for developing and testing Jeek itself). So, maybe the biggest help you could get from Jeek is reading [tests] source code!

Jeek home page is hosted on sourceforce, at
Any comment would be appreciated.


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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: