Насколько я могу судить, расположение тестовых файлов верное.
Когда я запускаю "mvn test", он обнаруживает четыре класса с именем SomethingTest (они находятся в папке "test" ).
Однако он игнорирует любой из тестов jUnit (jUnit 4, аннотированный с помощью @Test).
Как мне отладить это?
Изменить - это, вероятно, связано с неправильной версией jUnit. Я вижу это при запуске "mvn -X"
[DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus:pom:1.0.4 for project: org.codehaus.plexus:plexus-containers:pom:1.0.3 from the repository.
[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:runtime (selected for runtime)
[DEBUG] junit:junit:jar:3.8.1:runtime (selected for runtime)
[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (removed - nearer found: 1.4.1)
[DEBUG] classworlds:classworlds:jar:1.1-alpha-2:runtime (selected for runtime)
Несмотря на то, что моя первая зависимость в корневом pom находится в jUnit 4.8.1, по какой-то причине включается jUnit 3.8.1.
Изменить 2 - нормально, это не похоже на ответ. Путь тестового класса включает в себя правильный jUnit (4) и мои тестовые классы.
Изменить 3. У меня были классы тестов с именем SomethingTester. Когда я изменил его на SomethingTest, он сработал. Я проверил шаблоны включения для Surefire, и действительно, он не был настроен на то, чтобы ловить Something Tester. Doh.