Here's how this plays out.
In my very own project, not in the lucene tree anywhere, I wrote a test class that uses the base class for distributed tests. So I put the test-framework in as a <scope>test</scope> dependency.
It compiles fine, but gets NoClassDefFound for Jetty when I run it. Why? Well, jetty is listed as an optional dependency of solr-core. So it is not transitive.
I think that it's reasonable for the test framework jar to list it as a required dependency, since tests in there depend on it. However, there is an alternative (other than nothing): list it again as an optional dependency in test-framework, just to give people a hint, and/or change the javadoc for the BaseDistributedTestCase to note this requirement.