When I first arrived at the "Tech Talk" area
where the unit testing session was to take place, I saw what I had
expected - nobody. Well, actually I had thought 3 or 4 people may drift
past, and that it would be a really informal chat about who is doing
what re: unit testing in ArcMap.
Standing Room Only...After
a few minutes, the little tech talk area was packed - standing room
only! I must say I was totally blown away, and suddenly wished I had
prepared something more than, um... well, nothing! After 45 minutes of
a group discussion, including great insight and advice from members of
the ESRI testing team, some unreadable squiggles on the whiteboard (I'm
much better with power point), the main consensus was that Yes - people
were trying to do unit testing, and Yes, it's complex. The idea of a
community project ("ArcUnit"?) which will focus on a set of utility
classes for test initialization and validation was warmly welcomed.
Moving Forward:So
- here's the basic plan - A couple of people from the Fort Collins area
are going to put together some sample code that will formalize the
testing design pattern. We'll then distribute it for comments / feed
back etc. Once we have that done, we'll setup a Subversion source
control server for this project, and people who want to contribute will
be granted read/write access. To address the need for a central site to
exchange this information etc, I'll also be converting ArcDeveloper.net
over to Community Server 2.0 - which I was considering anyhow. We will
then setup a discussion forum for ArcUnit as the central point for
communication on this project.
Keeping it open...As
I said in the session - while we (Sanborn) will be tackling this
problem because we need to for our projects, it will be a difficult for
us to convince our manament that we should simply "open-source"
something that we have poured a lot of time and resources into. So
please - if you'd like to see this idea grow into a real community
project, please help out early. Once we've determined a suitable
framework for testing, writing the individual components (data loaders
& validators) should not be overly complex - if every developer who
wants to use this would create just one type of "validator" that this
project would be amazing.
Anyhow - thanks to those who came to the session, and keep watching ArcDeveloper for more information on this project.
[UPDATE May 5th, 2006] ArcUnit is now a project at
ArcDeveloper.netwhere you can download source code for unti testing geometry operations.