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.