2009-10-02 15 views
7

Sto tentando di eseguire il debug di un test junit in eclipse ma i miei punti di interruzione non vengono attivati ​​(a meno che non siano sulla prima o sulla seconda riga).Il debug dei punti di interruzione su JUnit test in Eclipse non funziona

Ho provato a eliminare e ricreare tutti i punti di interruzione nell'area di lavoro, a pulire il progetto, a creare una nuova configurazione di debug e a eseguire il metodo di prova individualmente e come parte di una classe di test con altri metodi. Ma tutto inutilmente :-(

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); 
} 

risposta

7

È probabile che si stia utilizzando l'aggiornamento 14 di Sun JDK 6. Vedere un altro similar SO question here. La risoluzione più probabile in questo caso è l'uso dell'aggiornamento 16 di Sun JDK 6.

+0

Aggiornamento a Sun JRE 6 L'aggiornamento 16 ha funzionato. Grazie Vineet. – tukushan

+0

Sfortunatamente sto ricevendo "Vota troppo vecchio per essere modificato, a meno che la risposta non sia stata modificata" e non posso revocarlo. Puoi modificare e poi lo farò? – tukushan

+0

+1, @tukushan dovresti essere in grado di votare ora se non lo hai già –

0

La mia prima intuizione è che la classe nella cache in Eclipse è fuori sincronia con i tuoi codici. Tuttavia, dato che avete provato pulito/ricostruire il progetto, dovrebbe avere risolto Come è possibile inserire un punto di interruzione nella 1a/2a linea, cosa succede quando si passano attraverso i codici? Il codice si allinea ad ogni passo? In caso contrario, mostra che l'eclisse ha una versione diversa della classe dai codici sorgente. Se sono uguali, proverei a copiare una nuova copia di eclipse (presumo che tu abbia già provato a riavviare l'eclissi) poiché potresti aver scoperto uno strano bug (la nuova versione potrebbe averlo risolto o pulito alcuni dati obsoleti). che non posso essere più d'aiuto

+0

Il codice viene eseguito e allineato. Grazie Oscar. – tukushan

Problemi correlati