Как я могу заставить Eclipse обнаруживать тесты Scala JUnit, когда пакет не соответствует папке? - PullRequest
1 голос
/ 26 января 2011

В Scala пакеты не обязательно должны соответствовать папкам. И если бы не было необходимости в инструментальных средствах, я бы предпочел исключить излишне избыточный префикс организации пакета, чтобы обеспечить более короткие пути.

Моя проблема в том, что плагин Eclipse JUnit, похоже, работает с папками, а не с classpath. Когда я помещаю свои тестовые классы Scala в папки, соответствующие пакету, все работает отлично. Однако если я поставлю их так, как мне хотелось бы, я получу исключение ClassNotFoundException.

Скажите, что мой префикс пакета - org.myorganisation.myproduct для всех классов в проекте. Тогда я хотел бы иметь папки, как

src/test/scala/domainpackage1/

вместо

src/test/scala/org/myorganisation/myproduct/domainpackage1

но если я поставлю тестовый класс, похожий на:

package org.myorganisation.myproduct;
package domainpackage1
...
@RunWith(classOf[JUnitRunner])
class DomainClass1Spec extends FeatureSpec with GivenWhenThen {
...
}

в папке

src/test/scala/domainpackage1

Я получаю

java.lang.ClassNotFoundException: domainpackage1.DomainClass1Spec

Похоже, что плагин JUnit ищет местоположение источника и ищет файл класса, соответствующий этому, а не находит класс более стабильным способом.

Я имею в виду, что должна быть возможность найти выходные данные (.class) из текущей позиции в модуле компиляции (.scala), верно?

1 Ответ

1 голос
/ 29 марта 2011

Это известная проблема в Eclipse:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=16209

Он помечен как WONTFIX. Но, возможно, вы должны прокомментировать это и указать на проблему для Scala ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...