[jboss-as7-dev] Revisited: Integration TestSuite Organization and Maintenance

Stuart Douglas stuart.w.douglas at gmail.com
Tue Aug 16 03:49:50 EDT 2011


On 16/08/2011, at 5:46 PM, Andrew Lee Rubinger wrote:

> On 08/16/2011 12:54 AM, Jason T. Greene wrote:
>> 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).
> 
> I think about this all the time.  Unfortunately, you can't catch a leaked API unless you test for all possible leaks.  If anyone's got a fine idea how to deal with this, I'm all ears.

If you have a list of allowed dependencies, it should be fairly trivial to write a maven plugin that verifies that only the dependencies on the list are exported from the API (and that every dependency on the list is present).

Stuart



> 
> WRT using the testsuite as a verification mechanism to validate the completeness of the API, yes, it's a convenience mechanism.  But in this case, convenience is likely to equal correctness over time (implicit maintenance).  Take the case of @SecurityDomain or JavaMail, both missing from the Spec-API and API.  If we didn't remember to export it, we definitely weren't going to remember to test that it was exported. :)  Only when we added tests for EJB3 security or something that used javax.mail did we catch it (after I moved to a restricted dependency chain).
> 
> S,
> ALR
> -- 
> Andrew Lee Rubinger
> Senior Software Engineer
> JBoss by Red Hat
> Twitter: @ALRubinger
> http://about.me/alrubinger




More information about the jboss-as7-dev mailing list