我有一個方法,在我的事業:如何嘲笑一個靜態的文件與方法的Mockito
public void createDirectories(final Path root, final Scaffolding scaffolding) throws FileAlreadyExistsException {
if (Files.exists(root)) {
throw new FileAlreadyExistsException("Root directory " + root.toString() + " already exists.");
} else {
Files.createDirectories(root);
// Create directories from the scaffolding object
}
}
我想嘲笑Files
這樣我就可以測試,以確保Files.createDirectories
與預期的領域被稱爲與否。
我可以用Mockito做這個嗎?或者我需要實際創建目錄並檢查它們是否存在於某個tmp文件夾中?
您需要powermockito來模擬靜態方法。 –
您可以使用PowerMockito來做到這一點。雖然fwiw,JUnit的TemporaryFolder旨在幫助進行這種測試。 –
@LucianovanderVeekens它不僅僅是一種靜態方法。這是一個全球課程。'文件'不是我的工具類的一個實例,我可以嘲笑並將它傳遞給類。 – Kousha