Mam klasę, która przyjmuje pojedynczy plik, znajduje plik z nim powiązany i otwiera go. Coś wzdłuż liniiMockito - Kpiny z pliku
class DummyFileClass
{
private File fileOne;
private File fileTwo;
public DummyFileClass(File fileOne)
{
this.fileOne = fileOne;
fileTwo = findRelatedFile(fileOne)
}
public void someMethod()
{
// Do something with files one and two
}
}
w moich testów jednostkowych, chcę móc przetestować metodę someMethod() bez konieczności posiadania pliki fizyczne siedzi gdzieś. Mogę wyśmiać fileOne i przekazać go do konstruktora, ale ponieważ fileTwo jest obliczany w konstruktorze, nie mam nad tym kontroli.
Mogę kpić z metody findRelatedFile() - ale czy jest to najlepsza praktyka? Poszukuje najlepszego projektu, a nie pragmatycznego rozwiązania. Jestem całkiem nowy w szyderczym środowisku.
To zależy od tego, co 'someMethod()' powinien zrobić. Tu wraca tu pustka. Jaki jest efekt wywoływania tej metody przy późniejszej interakcji z twoim obiektem? – fge
To nie jest jeszcze zaimplementowane, ale planowane jest odczytywanie niektórych plików z każdego wywołania, dopóki oba nie będą puste. – Ren
Makabryczne "File" to, err, well, hard. Dlaczego nie chcesz pliku testowego? Możesz go ustrukturyzować tak, aby pasował do twojego testu (-ów) wystarczająco łatwo ... – fge