Używając ScalaIDE (3.0.4-2.11-20140723-2253-Typesafe) miałem podobny problem z Right Click Scala Test Class-> Run As -> Scala Junit Test
menu kontekstowym.
Próbowałem edytować klasę (ale nie z powodu błędu kompilacji), wyczyścić, zamknąć projekt, zamknąć Eclipse. Żadne z nich nie działało, aby przywrócić menu kontekstowe dla zajęć, które wcześniej działały dobrze. Klasy testowe nie używają @Test
adnotacji i zamiast tego używają @RunWith(classOf[JUnitRunner])
adnotacji na początku klasy przy użyciu kodu ScalaTest.
Kiedy próbowałem bezpośrednio wybrać Scala Junit Test
z edytora uruchamiania konfiguracji Run Configuration, otrzymałem okno dialogowe z pytania. Odpowiedź Footix29 była dla mnie kluczowa.
Zauważyłem, że mimo że wyczyściłem projekt kilka razy, moje klasy w katalogu / bin nie były odbudowywane od jakiegoś czasu.
Oto jak odzyskałem menu kontekstowe i mogłem ponownie uruchomić Scala Junit Test
s:
manually
wyczyścił klasy, usuwając plik /bin/<package dir>*
via Explorer
Project -> Clean
ed projekt wraz z pełną przebudową
Podejrzewam, że edycja klas w ogóle jest w stanie wyczyścić zapisany stan Eclipse i ponownie go uruchomić. W moim przypadku wszystkie poprzednie zajęcia, które wypróbowałem, zawiodły, więc manual
czysty krok był tylko młotkiem, którego potrzebowałem. Jednak inne sztuczki, które wpływają na koncepcję Eclipse dotyczące ścieżki klasy / stanu kompilacji, również powinny działać.
Co więcej, myślę, że to zachowanie zostało częściowo wywołane próbą refaktoryzacji klasy Scala poprzez zmianę jej nazwy (do której jest do bani środowisko Scala Eclipse IDE), gdzie całe czyszczenie po początkowej zmianie pliku odbywa się ręcznie. Nie było błędów kompilacji, ale nie było też ostrzeżeń, których się spodziewałem, co oznacza, że coś utknęło w informacjach o stanie kompilacji Eclipse.