Используя ScalaIDE (3.0.4-2.11-20140723-2253-Typesafe), у меня была аналогичная проблема с Right Click Scala Test Class-> Run As -> Scala Junit Test
контекстным меню.
Я попытался отредактировать класс (но не из-за сбоя компиляции), очистить, закрыть проект, закрыть Eclipse. Ни один из них не помог восстановить контекстное меню для классов, которые раньше работали хорошо. Тестовые классы не используют @Test
аннотацию, а вместо этого используют @RunWith(classOf[JUnitRunner])
аннотацию в верхней части класса с использованием кода ScalaTest.
Когда я попытался выбрать Scala Junit Test
из редактора запуска конфигурации запуска напрямую, я получил диалоговое окно с вопросом. Ответ Footix29 был для меня ключевым.
Я заметил, что, хотя я несколько раз очищал свой проект, мои классы в каталоге / bin на самом деле не перестраивались какое-то время.
Вот как я вернулся в контекстное меню и снова смог запустить Scala Junit Test
s:
manually
очистил классы, удалив /bin/<package dir>*
через проводник
Project -> Clean
редактировал проект вместе с полной перестройкой
Я подозреваю, что редактирование класса в целом может очистить некоторое сохраненное состояние Eclipse и снова запустить его. В моем случае все предыдущие рабочие классы, которые я пробовал, потерпели неудачу, поэтому manual
чистый шаг был как раз тем молотком, который мне нужен. Однако другие уловки, которые влияют на концепцию Eclipse о пути к классу / состоянии сборки, также должны работать.
Кроме того, я думаю, что это поведение было частично вызвано попыткой рефакторинга класса Scala путем его переименования (чего не хватает в Scala Eclipse IDE), где вся очистка после первоначального изменения файла выполняется вручную. Ошибок сборки не было, но также не было предупреждений, которые я ожидал, означающих, что что-то определенно застряло в информации о состоянии сборки Eclipse.