Mam testy JUnit, które działają poprawnie. Dodano Mockito do mojej kompilacji i próbuję umieścić punkt przerwania w moim teście JUnit, który używa Mockito do wyszydzania niektórych publicznych metod. Kiedy próbuję uruchomić debugger na klasie, pojawia się błąd "nie można zainstalować punktu przerwania w XXX z powodu braku atrybutów numeru linii. Zmodyfikuj opcje kompilatora, aby wygenerować atrybuty numeru linii." Sprawdziłem mój kompilator i wybrałem numery linii.Nie można debugować kodu Mockito/JUnit w środowisku Eclipse, działa dobrze tylko z JUnit
Odpowiedz
Jeśli dzieje się to tylko przy użyciu Mockito, to może dlatego, że Mockito zostało skompilowane bez obsługi debuggera?
Sprawdź również, czy masz takie same ustawienia kompilatora dla klas testowych, jak dla zwykłego kodu.
Myślę, że @ albert-t-wong mówił, że dynamiczny (wygenerowany) kod sztuczny nie ma informacji debugowania, nie, że nie mógł debugować kodu źródłowego Mockito. – cleberz
Spróbuj przez usunięcie i ponowne dodanie punktów przerwania, może się okazać, że bieżący punkt przerwania odwołuje się do starej wersji klasy. Tylko to!
Może this post in the Mockito group może ci pomóc.
Mam te same wiadomości (Eclipse Luna).
Pomimo dużej liczby komunikatów o błędach debugowanie nadal działa, jeśli debuger trafi w punkt przerwania. Trzeba po prostu kliknąć "OK" na wszystkich z nich lub wyłączyć te wiadomości.
Myślę, że problem pochodzi z umieszczania punktów przerwania na rozszerzonej klasie (mockito prawdopodobnie dynamicznie rozszerza wyśmiewane klasy), a Eclipse nie jest w stanie wyśledzić kodu źródłowego.
oprócz tego pytania jest stary miałem ten sam problem dzisiaj i rozwiązanie było dość proste, ale zajęło trochę czasu, aby to rozgryźć. Może to być pomocne dla tego, kto się tu potknie.
Po prostu miałem ustawiony stary punkt przerwania i jeden z nich wskazywał na zmieniony kod, tak że zarejestrowana pozycja punktu przerwania nie była już dobra.
Moja rada to próba usunięcia wszystkich niebezpiecznych punktów przerwania i zainstalowania ich na bieżącym kodzie. Po czystej kompilacji, po prostu upewnij się, że wskazuje na najnowszą wersję binarną. :)
Wyjątek, który widzisz, jest spowodowany próbą debugowania dynamicznie generowanych pustych próbnych metod utworzonych przez funkcję mock() (). Z twojego pytania wynika, że chcesz używać częściowych mumin zamiast pełnych mocków, gdzie tylko niektóre metody są wyśmiewane, a pozostałe połączenia są delegowane do rzeczywistej implementacji.
Aby utworzyć częściowe mocks, należy używać z szpieg() metody zamiast metody mock(). więc używać
MyClass myMock = spy(new MyClass());
zamiast
MyClass myMock = mock(MyClass.class);
- 1. Debugowanie punktów przerwania testu JUnit w środowisku Eclipse nie działa
- 2. Formatowanie tylko wybranego kodu w środowisku Eclipse
- 3. Nie można uruchomić jUnit z Eclipse
- 4. Jak debugować testy JUnit podobne do zwykłego programu Java w środowisku Eclipse
- 5. Dla Eclipse, CCLog nie działa. CCMessageBox działa dobrze
- 6. Groovy Eclipse nie można uruchomić testy JUnit
- 7. Uruchamianie testu szybkiego kodu w środowisku Eclipse
- 8. Czy można debugować kod mex w Eclipse?
- 9. Sparametryzowane przypadki testowe Groove JUnit w środowisku Eclipse
- 10. Nie można uruchomić testu JUnit Androida w środowisku Eclipse. Zatrzymany na: rozpoczęcie: Tworzenie źródłowego lokalizator
- 11. Jak debugować zadania Celery/Django działające lokalnie w środowisku Eclipse
- 12. Nie można wyświetlić źródła w perspektywie debugowania w środowisku Eclipse
- 13. Nie można uruchomić/debugować aplikacji Java w środowisku Eclipse (problem JavaTimeZone)
- 14. Jak debugować programy Node.js w środowisku Eclipse (za pomocą funkcji eclipse)?
- 15. NUnit nie działa dobrze z Assert.AreEqual
- 16. Nie można debugować w pycharm z pytestem
- 17. Nie można natywnie debugować
- 18. CustomValidator nie działa dobrze
- 19. Nie można uruchomić testu JUnit 4 w projekcie Eclipse Android
- 20. Czy można używać składni ScalaTest BDD w środowisku JUnit?
- 21. SVN przez Eclipse - Nie można uruchomić kodu, który wypróbowałem
- 22. Czy można debugować wiele wątków w środowisku Eclipse w różnych oknach?
- 23. debugowanie projektu makefile w środowisku Eclipse
- 24. Nie można uruchomić WebLogic zdalnie debugować
- 25. Infinitest Eclipse nie działa wcale
- 26. Nie można wstawić i debugować kodu źródłowego obsługiwanego komponentu
- 27. Dlaczego JUnit 4 na Androidzie nie działa?
- 28. Nie można debugować projektu VSIX
- 29. Buduj bieżący zestaw roboczy Tylko w środowisku Eclipse
- 30. Debugowanie kodu Android NDK C/C++ w środowisku Eclipse - punkty przerwania nie są trafiane
jaka wersja Mockito używasz? – iwein