2009-10-02 14 views
7

Estoy intentando depurar una prueba junit en eclipse, pero mis puntos de interrupción no se activan (a menos que estén en la primera o segunda línea).Los puntos de corte de depuración en la prueba JUnit en Eclipse no funcionan

He intentado eliminar y volver a crear todos los puntos de interrupción en el área de trabajo, limpiar el proyecto, crear una nueva configuración de depuración y ejecutar el método de prueba individualmente y como parte de una clase de prueba con otros métodos. Pero todo fue en vano :-(

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

Respuesta

7

Esto es probable si está utilizando Sun JDK 6 Update 14. Consulte otro similar SO question here. La resolución probable en tal caso es utilizar Sun JDK 6 Update 16.

+0

Actualizando a Sun JRE 6 La actualización 16 hizo el truco. Gracias Vineet. – tukushan

+0

Lamentablemente recibo el mensaje "Vote too old to be changed, a menos que se edite la respuesta" y no puedo dejar de votar esto. ¿Puedes editar y luego lo haré? – tukushan

+0

+1, @tukushan debería poder votar ahora si aún no lo ha hecho –

0

Mi primera intuición es que la clase en caché en Eclipse está fuera de sincronía con sus códigos. Sin embargo, teniendo en cuenta que ha intentado limpiar/a reconstruir su proyecto, debería haber arreglado Como puede poner un punto de interrupción en la primera/segunda línea, ¿qué sucede cuando pasa por los códigos? ¿El código se alinea con cada paso? De lo contrario, muestra que el eclipse tiene una versión de clase diferente de los códigos fuente. Si son iguales, trataría de bajar una copia más nueva de eclipse (asumí que ya has intentado reiniciar tu eclipse) ya que es posible que hayas descubierto un error extraño (la nueva versión puede haberlo solucionado o limpiar algunos datos obsoletos). que no puedo ser más útil.

+0

El código se abre paso y se alinea. Gracias Oscar – tukushan

Cuestiones relacionadas