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:
[WHAT IT IS?]
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
[HOW TO BUILD?]
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).
[DOCUMENTATION?]
Details of what Jeek does are available as wiki pages
and acceptance tests for FitNesse, so this could be a good starting point.
Extract FitNesseRoot.zip 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.
[LICENSE?]
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
[WHY?]
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!
[WHERE?]
Jeek home page is hosted on sourceforce, at http://sourceforge.net/projects/jeek.
Any
comment would be appreciated.