0
我創建了一個Spring Boot應用程序。我有一個同步方法。我想創建JUnit測試來測試此方法是否同步。這裏的類和方法:用於同步方法的JUnit測試
public class FileManager {
public synchronized void saveTheFile(String theTemperature, String cityName) throws IOException {
InputStream streamIn = toInputStream(theTemperature, "UTF-8");
OutputStream streamOut = new FileOutputStream(cityName + ".txt", true);
try {
IOUtils.copy(streamIn, streamOut);
} finally {
IOUtils.closeQuietly(streamIn);
IOUtils.closeQuietly(streamOut);
}
}
}
我想我需要使用多線程這一點,但我沒有想法甚至如何開始我@Test。請指教!
看起來你不需要在這裏同步任何東西,因爲唯一使用的變量是不可變的參數。除非'toInputStream'處理共享資源? – sp00m
你有沒有試過ConcurrentUnit https://github.com/jhalterman/concurrentunit? –
如果您願意,我可以向您展示我的所有代碼,但是很快我的應用程序會從用戶那裏獲取請求(城市名稱),並將該城市的溫度保存爲具有城市名稱的文件。之後,該應用程序每小時獲得該城市的溫度,並將其保存到同一文件中,直到該應用程序未被殺死。同步的想法已經出現,因爲很少有用戶可以同時請求同一個城市。 – Boris