2009-10-02 6 views
7

J'essaie de déboguer un test de junit en éclipse, mais mes points d'arrêt ne tirent pas (sauf s'ils sont sur la première ou la deuxième ligne). J'ai essayé de supprimer et de recréer tous les points d'arrêt dans l'espace de travail, de nettoyer le projet, de créer une nouvelle configuration de débogage et d'exécuter la méthode de test individuellement et dans le cadre d'une classe de test avec d'autres méthodes. Mais en vain :-(Débogage des points d'arrêt sur le test JUnit dans Eclipse ne fonctionne pas

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

Répondre

7

Ceci est probable si vous utilisez Sun JDK 6 Update 14. Voir un autre similar SO question here. La résolution probable dans ce cas est d'utiliser Sun JDK 6 Update 16.

+0

Mise à niveau vers Sun JRE 6 Update 16 a fait l'affaire. Merci Vineet. – tukushan

+0

Malheureusement, je reçois "Vote trop vieux pour être changé, sauf si la réponse est éditée" et ne peut pas l'emporter. Pouvez-vous modifier et puis-je? – tukushan

+0

+1, @tukushan vous devriez pouvoir voter pour maintenant si vous n'avez pas déjà –

0

Ma première intuition est que la classe en cache dans Eclipse est désynchronisé avec vos codes. Cependant, étant donné que vous avez essayé propre/reconstruire votre projet, il devrait avoir fixé Comme vous pouvez mettre un point d'arrêt sur la 1ère/2ème ligne, que se passe-t-il lorsque vous parcourez les codes? Le code s'aligne-t-il avec chaque étape? Sinon, cela montre que l'éclipse a une version différente de la classe de vos codes source. Si elles sont identiques, j'essayerais de faire une nouvelle copie d'eclipse (je suppose que vous avez déjà essayé de redémarrer votre éclipse) puisque vous avez peut-être découvert un bug étrange (une nouvelle version pourrait l'avoir corrigée ou nettoyée). que je ne peux pas être plus utile

+0

Le code effectue un pas d'alignement et d'alignement. Merci Oscar. – tukushan

Questions connexes