These seem like sensible ideas to me.  I especially don't like tests named after bug numbers.  I do like a pointer to relevant tickets in test comments/javadocs though.

We also have DUnitTest.  Some designation in the name that it's using the dunit infrastructure is often useful to me.  Having to open a file to see that it's a DistributedTest vs a regular unit test could make life more difficult.  Putting them in their own source tree would help with that.


On 2/5/18 11:49 AM, Kirk Lund wrote:
Another valuable naming standard is the use FooRegressionTest for tests
that are specific to reproducing a bug and verifying its fix. Don't use
Bug007IntegrationTest. Use something description like
QueryShouldNotIncludeTXSetsRegressionTest (if you want a separate test
class for the bug which is sometimes better -- otherwise just add new tests
to existing tests).

On Mon, Feb 5, 2018 at 11:42 AM, Kirk Lund <kl...@apache.org> wrote:

The industry standard names for tests are FooTest and FooIntegrationTest
and I think we should stick to that for UnitTest and IntegrationTest.

The following block is defined in our wiki. I'd like to replace the line
"End with JUnitTest" -- there's no reason to including "JUnit" in the name
of our JUnit tests. Even if we decide to separate test categories in some
way other than the @Category support in Gradle's junit task, the next
preferred alternative should be different src tests (src/test,
src/integrationTest, src/distributedTest). Adding "JUnit" to the name is an
outdated convention tied to our previous Ant build system.

JUnit tests should

. Use Junit 4 Syntax
*. End with JUnitTest*
. Contain an Category annotation of either UnitTest or IntegrationTest.
UnitTests as should complete in milliseconds and test a specific class.


Reply via email to