There are build systems where this guidance isn't terribly valuable.
With Bazel for example, you typically have build files in each directory, and a test target for each test class in that build. But bazel allows you to select and run targets in a collection of directories, select targets recursively, or by a variety of other criteria. Your CI systems runs targets selected implicitly, while each build expresses the test targets explicitly.
With Bazel for example, you typically have build files in each directory, and a test target for each test class in that build. But bazel allows you to select and run targets in a collection of directories, select targets recursively, or by a variety of other criteria. Your CI systems runs targets selected implicitly, while each build expresses the test targets explicitly.