Along with unit testing, "Test Driven Design" is becoming a popular term
around the place. There's a TDD plugin available for IDEA, but the last
time I looked at it it lacked a spot of polish that just made it, well -
suck a little.
With little effort, I could see JetBrains providing a good one based on
reusing the existing code we already have.
I'm sitting here running some tests, the run window is along the bottom of
idea, but the majority of the screen is taken up by the output, and
statistics tab. And whilst the statistics tab is handy, I don't
particularly care about it, or the output unless I need to.
What I'm thinking of is a dedicated "Test Runner" toolwindow, docked to
the right of the screen, that a) automatically picks up any Test Suites
under configured test source directories for each module, showing a
hierarchical (sp?) display of suites, sub suites, and the tests within
them. This window doesn't have any output or statistics displayed. Just
the test tree, showing red/green tests ( we'd move the progress bar and
label beneath the tree thou ).
From here, I have quick access to all test suites, drilling down to
individual test methods ( and groups if support for TestNG is provided )
that I can run at on a whim. I don't have to worry about recreating run
There could be overall test runner settings for:
- Rebuild project in background before running any test. (one of
things that drives me insane in idea is that right-clicking inside
a testXXX() method and selecting run doesn't always compile the test
first. If the build failed for any reason, mark all tests black.
- Run ant targets in background before running any test
- Over-ridable Ant properties for test runner
- Run all tests in background every XXX minutes
This may need some form of funky configuration, maybe just tick off
a list at the module level for tests to run automatically. We want
all or nothing on the tests. As they're running in the background
we shouldn't be alerted/bothered with errors modally, or any form of