2009-10-02 20 views
7

Próbuję debugować test junit w czasie zaćmienia, ale moje punkty przerwania nie są uruchamiane (chyba, że ​​znajdują się w pierwszej lub drugiej linii).Debugowanie punktów przerwania testu JUnit w środowisku Eclipse nie działa

Próbowałem usunąć i ponownie utworzyć wszystkie punkty przerwania w obszarze roboczym, oczyścić projekt, utworzyć nową konfigurację debugowania i uruchomić metodę testową indywidualnie i jako część klasy testowej innymi metodami. Ale wszystko bezskutecznie :-(

public void testLoadPatientsAndConvertToBeans() throws IOException, CDataGridException { 
    File file = fileutil.getFileFromPrefsOrPrompt(basefileDef); 

    CDataBuilder builder = new CDataDelimitedFileBuilder(file, 
    CDataDelimitedFileBuilder.DelimiterSettings.WINDOWS_CSV, 
    basefileDef); 

    // breakpoints placed on lines from here on do not fire 

    CDataCacheContainer container = 
    cacheIO.construct(
    new CDataNarrower(
     cacheIO.construct(builder) 
    ).setConvertMissing(true)); 

    assertEquals(13548, container.size()); 

    cacheIO.export(container, patients); 

    Collection<Patient> pBeans = patients.getBeans(); 

    assertEquals(container.size(), pBeans.size()); 

    Patient patient = pBeans.iterator().next(); 
    Map props = patient.getPropertyMap(); 

    System.out.println(props); 
} 

Odpowiedz

7

Jest to prawdopodobne, jeśli używasz aktualizacji Sun JDK 6 Update 14. Zobacz inny similar SO question here. Prawdopodobnym rozwiązaniem w takim przypadku jest użycie Sun JDK 6 Update 16.

+0

Aktualizacja do Sun JRE 6 Aktualizacja 16 rozwiązała problem. Dzięki Vineet. – tukushan

+0

Niestety otrzymuję "Głosowanie za stare, aby je zmienić, chyba że odpowiedź zostanie zmieniona" i nie może tego zrobić. Czy możesz edytować, a potem będę? – tukushan

+0

+1, @tukushan powinieneś być w stanie zagłosować na to teraz, jeśli jeszcze nie masz –

0

Moja pierwsza intuicja jest to, że w pamięci podręcznej klasy w Eclipse jest zsynchronizowany ze swoimi przepisami. Jednak biorąc pod uwagę wypróbowaniu czyste/odbudować swój projekt, to powinien być poprawiony Jak możesz umieścić punkt przerwania w pierwszej linii, co się dzieje, gdy przejdziesz przez kody? Czy kod jest zgodny z każdym krokiem? Jeśli nie, to pokazuje, że zaćmienie ma inną wersję klasy niż kody źródłowe. Jeśli są one takie same, spróbowałbym pobrać nowszą kopię zaćmienia (założyłem, że już próbowałeś ponownie uruchomić zaćmienie), ponieważ mogłeś odkryć dziwny błąd (nowa wersja mogła go naprawić lub wyczyścić stare dane). że nie mogę być bardziej pomocny

+0

Kod wykonuje krok i wyrównuje. Dzięki Oscar. – tukushan

Powiązane problemy