2015-11-20 2 views
3

Мне сложно определить, как протестировать каталог, который я создал и импортировал в файлы проекта.JUnit Test Case необходимо протестировать каталог

В настоящее время у меня есть:

File file = new File(ExplorerView.class.getResource("/ExplorerViewTestFolder")); 

Что я пытаюсь схватить здесь, чтобы проверить Picture

ExplorerView explorer = new ExplorerView(); 

explorer.countFilesAndFolders("/ExplorerViewTestFolder"); 

edit2: Изменен

public class ExplorerViewTests { 

@Test 
public void testCountFilesAndFolders() { 

    ExplorerView explorer = new ExplorerView(); 

    explorer.countFilesAndFolders("/ExplorerViewTestFolder"); 


} 

Ошибка: enter image description here

EDIT3: enter image description here

EDIT4:

public int countFilesAndFolders(File f) { 
    if (f.isFile()) { 
     return 1; 
    } else { 
     int total = 0; 

     for (File file : f.listFiles()) { 
      if (file.isHidden() == false) { 
       total += countFilesAndFolders(file); 
      } 
     } 
     return total + 1; 
    } 
} 
+1

Что вы имеете в виду под «test a directory»? У вас есть код примера? – jiaweizhang

+0

И что происходит, когда вы пытаетесь запустить свою существующую программу (со вчерашнего дня, правда?)? – jiaweizhang

+0

@jiaweizhang все работает отлично, насколько я могу судить! Мне просто нужно сделать несколько тестов. – ProjectDefy

ответ

1

Простой тест JUnit выглядит примерно так:

import static org.junit.Assert.assertEquals; 

import org.junit.Test; 

public class MyTests { 

    @Test 
    public void directoryTest() { 

     // ExplorerView class is tested 
     ExplorerView explorer = new ExplorerView(); 

     explorer.countFilesAndFolders("ExplorerViewTestFolder"); 

     // assert statements 
     assertEquals("filecount must be same ", 12, explorer.getNumberFiles()); 
     assertEquals("directorycount must be same ", 2, explorer.getNumberDirectories()); 
    } 

} 

Если assertEquals оценивается как истина - если explorer.getNumberFiles() == 12 и explorer.getNumberDirectories() == 2, то тесты JUnit пройдет. В противном случае они потерпят неудачу.

+0

Я получаю сообщение об ошибке. Я пошел и добавил его на главный пост. (Извините, если я делаю эту ошибку stackoverflow неправильно). – ProjectDefy

+0

Ах. Легко исправить. Он ожидает «Файл», но вы даете ему «String». Поэтому просто делайте то, что мы делали вчера, с файлом File = new File ("/ ExplorerViewTestFolder") '. Таким образом, эта строка должна быть: 'explorer.countFilesAndFolders (новый файл ("/ExplorerViewTestFolder "));' – jiaweizhang

+0

Я пробовал это, если только я не читал вам неправильный ха-ха. Здесь я сделал обновление номер 3, и он дал мне что-то еще. – ProjectDefy