2016-10-31 1 views
1

Я новичок. Я работаю над тестом JUnit. Вот что я тестирую: у меня есть входной файл со списком записей. Если у записи есть электронное письмо, я должен добавить его в свой выходной файл, называемый myemailfile.txtПроверьте, есть ли определенная запись в файле

В моем тесте JUnit я должен проверить, включен ли человек с адресом [email protected] в myemailfile.txt

Может кто-нибудь, пожалуйста, сообщите, как пройти через файл и проверить, сделала ли такая запись его файл.

Here is my file: 

    First Name,Last Name,Email,Id 
    John  ,Dough  ,[email protected]      ,12345 
    Jane  ,Smith  ,[email protected]      ,86547 
    Mary  ,Wells  ,[email protected]      ,76543 

и ниже мой тест

@Test 
public void isRecordIncludedInEmailFile() throws IOException{  

    String testFile = "C:/Users/myname/myemailfile.txt"; 
    BufferedReader br = null; 
    String line = ""; 
    String fileSplitBy = ","; 

    try { 

     br = new BufferedReader(new FileReader(testFile)); 
     while ((line = br.readLine()) != null) { 

      // use comma as separator 
      String[] field = line.split(fileSplitBy); 

    //read through the file and see if the email that I expect ([email protected]) exists in the file 
    System.out.println("Email [email= " + field[2] + " , first name=" + field[0] + "]"); 

    //the line below should assert if "[email protected]" exists in the file    
    // assertEquals("[email protected]", field[2]); 
} 

Спасибо

ответ

1

Вы, кажется, пропустить важный момент модульных тестов: вы используете их тест ваши классы Java; не то, что какой-то файл содержит какой-то контент.

Другими словами, разумная вещь, чтобы сделать здесь:

  1. Создать класс, который представляет такую ​​запись, возможно, называется PersonInformation
  2. Написать код, который читает такой файл, и повороты содержимое файла в некоторый массив или Список PersonInformation объектов
  3. Затем вы пишете единичный тест, который создает фальшивый файл с некоторыми данными; вы запускаете свой код ... и проверяете, что ожидаемые PersonInformation объектов были найдены, прочитаны и сохранены в этом списке.

И заключительный совет: если это не является «изучение упражнений», вы не хотите, чтобы разобрать, что содержимое файла вручную. Вы видите, что данные используют формат CSV (значения, разделенные запятыми). Написание кода для чтения таких данных и его анализ ... означает повторное изобретательство колеса. Там много библиотек, которые делают это для вас.

Смежные вопросы