+1
On Apr 17, 2008, at 1:15 AM, Chris Hostetter wrote:
: I think we may want to consider, similarly to what we do in Lucene-
Java, is
: introducing a code freeze before official release, and one of the
things we do
: is tackle the fact that a pretty sizable chunk of Solr code is not
ever
: tested. Typically, in Lucene land we freeze for 7 to 10 days and
the only
: allowed commits in that time are blockers and documentation. We
probably
: could add to that test cases.
Agreed ... we have some TODOs on the "How To Release" page about
trying to
include the process *arround* the actual release creation as well
(preperation, and post release tasks) that we can beef up with stuff
like
this, but like most documentation: it's fallen through the cracks...
http://wiki.apache.org/solr/HowToRelease
: I also find the BasicFunctionalityTest to be a bit annoying from a
purist Unit
: Testing standpoint. For instance, today I was looking at the Date
Faceting
: patch as applied to SimpleFacets and instinctively went to look for
: TestSimpleFacets (or, SimpleFacetsTest) which doesn't exist.
Then, later,
: discovered that the Faceting test stuff is in the BFT class, which
is a bit
: harder to remember and I think causes people to wonder where tests
are located
: for a given class.
I take full responsibility for the mess that is
BasicFunctionalityTest ...
it started out as exactly what the name implies, but little by
little it
was easier to add more stuff to that one class then to create new
classes.
I agree it should be refactored, but writing new tests is probably a
bigger win ... the general strategy that would probably make the most
sense is: when writing some new test cases, if part of the
functionality
is already covered in BFT, refactor the existing stuff inot a new
class,
and add your new tests. we keep refactoring until BFT is empty, and
then
add some redundent tests for truly basic stuff back in and leave the
test
as what it should have been: an example of the way to write simple
"functionality" tests without needing to know a lot about the internal
APIs.
-Hoss
--------------------------
Grant Ingersoll
Lucene Helpful Hints:
http://wiki.apache.org/lucene-java/BasicsOfPerformance
http://wiki.apache.org/lucene-java/LuceneFAQ