[jboss-as7-dev] Revisited: Integration TestSuite Organization and Maintenance
Jason T. Greene
jason.greene at redhat.com
Tue Aug 16 00:54:07 EDT 2011
On 8/15/11 8:34 PM, Stuart Douglas wrote:
>
> On 15/08/2011, at 5:27 PM, Andrew Lee Rubinger wrote:
>
>> A summary of where I believe we stand on the 3 points raised here:
>>
>> 1) TestSuite Organization
>>
>> Stuart and Kabir have voiced concerns that separating src/main and
>> src/test make authoring more complex.
>>
>> While I'll concede that may be true to a small extent, I believe
>> the benefits of separation far outweigh the drawbacks. By
>> separating these out I uncovered 4 JIRAs which proved that our
>> "api" and "spec-api" modules were incomplete. In short, paying
>> attention to user dependencies to validate against them is very
>> important.
>>
>
> Personally I still don' t think that the additional testing of the
> API module makes it worth the extra inconvenience. The API does not
> change often, and bugs are both easy to identify and work around
> (e.g. if we are missing an artefact it a end user can for around it
> by adding the dependency to their pom, not ideal, but but not the end
> of the world either). On the other hand if this change does result in
> less tests being written, then this may result in more bugs in the
> application server code itself, which will be much more difficult to
> work around.
>
> With that said though if everyone else agrees with this I am prepared
> to give it a go, with the caveat that if it causes problems we go
> back to the current way of doing things.
I have been doing a lot of thinking about this since the discussions
this morning, and I am wondering if this really is the "right" way to
verify an API. What bothers me is that it is an indirect mechanism.
The approach might catch a missing dependency, but it will not catch an
unnecessary dependency. It seems that only human review can get the most
accurate results. Alternatively, it might be more correct to actually
write real API verification tests, that does something like look for an
expected list of packages, and erroring when an unexpected package is
found (or a missing one).
--
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat
More information about the jboss-as7-dev
mailing list