Ich brauche Hilfe mit der Einheit Testfall. Ich möchte statische Methode write(Path path, byte[] bytes, OpenOption... options)
von java.nio.file.Files
Klasse Mock.Jede Möglichkeit, die Files.write (...) -Methode zu überspielen?
Ich versuchte zB. auf diese Weise:
PowerMockito.doReturn(path).when(Files.class, "write", path, someString.getBytes());
In diesem Fall wird die Methode nicht gefunden.
PowerMockito.doReturn(path).when(Files.class, PowerMockito.method(Files.class, "write", Path.class, byte[]
.class, OpenOption.class));
Diesmal habe ich UnfinishedStubbingException
.
Wie kann ich es richtig machen?
Warum nicht verwenden ein falsches 'FileSystem' so wie du es solltest? Verspottende statische Methoden sind bereits ein Hauptgeruch. –
Seconding Louis - Javas eingebaute Dateisystem-Tools sind nicht gut zum Spotten, selbst wenn Sie Tools wie PowerMockito verwenden, um die Einschränkungen von Mockito zu übertreffen. –
Danke Louis. Ich habe die von Ihnen vorgeschlagene Methode verwendet und diese [https://github.com/marschall/memoryfilesystem] -Bibliothek verwendet, um ein In-Memory-Dateisystem zu erstellen. Die bessere Lösung für mich. –