2013-04-16 3 views
0

Может кто-нибудь сказать мне, как написать тестовый пример junit для следующего фрагмента кода. Тот, который я написал, не входит в тело попытки. Зачем..??junit test case for FTP

код: -

public void dataImport (String scheme , String dataSource , String savePath) throws ImportException { 
    LOG.debug("Entered"); 
    final InputStream inputStream = null ; 

    try { 
      String host = "localhost"; 
      String user = "user"; 
      String pass = "pass"; 
      String filePath ="/A/a1.txt";  (this are actually extracted from dataSource) 
      FTPClient ftpClient = new FTPClient(); 
      ftpClient.connect(host, 21); 
      ftpClient.login(user, pass); 
      inputStream = ftpClient.retrieveFileStream(filePath); 

      //saving it to the file System 

      } 

    catch (final IOException ex) { 
      throw new ImportException(ex.getMessage(), ex); 
      } 

    finally { 
      try { 
      if (inputStream != null) { 
       inputStream.close(); 
      } 
      } catch (final IOException e) { 
      throw new ImportException(e.getMessage(), e); 
      } 
     } 
     } 

Junit тест: -

@Test(expected=NullPointerException.class) 
    public void testImportData() throws ImportException , IOException { 
    FTPImporter fi = new FTPImporter(); 
    try{ 
    fi.dataImport("ftp" , "ftp://user:[email protected]/A/a1.txt" , "desti"); 
    fail("ere"); 
    } 
    catch(ImportException e){ 
    assertNotNull(e.getMessage()); 
} 
}   
+0

Вы, кажется, не вызываете DataImport из своего тестового примера. – DaveH

+0

моя ошибка ... обновленный вопрос – Raja

+1

слово совета, имена методов должны всегда начинаться с символа нижнего регистра. – david99world

ответ

0

Вы уверены, что FTPImporter конструктор успешно?
Проверьте журналы, отлаживать testImportData метод в IDE или завернуть new FTPImporter() в примерочных поймать блока и войти исключение, что-то вроде этого:

FTPImporter fi = null; 
try { 
    fi = new FTPImporter(); 
} catch (Exception e) { 
    e.printStackTrace(); 
    fail("Error!"); 
} 

Chance ваш конструктор бросает NullPointerException, который, как ожидается, с помощью этого теста.

+0

Да, это было успешно, даже все, что находится за пределами блока try, покрывается. – Raja

+0

Пробовав ваш блок тестового случая, выдается сообщение об ошибке: - * Тип пустоты не разрешен здесь * – Raja

+0

Ooops, my bad. Я отредактировал свой ответ, попробуйте сейчас. –