我需要在Java中编写一个单元测试,用于检测符号链接文件的方法。测试必须创建符号链接的临时文件。麻烦的是,在Windows 10上,可能还有其他版本的Windows,单元测试需要管理员权限才能创建符号链接。有人有办法在单元测试中处理这种特殊情况的问题吗?
nxagd54h1#
import org.junit.Test; import java.io.File; import java.io.IOException; import java.nio.file.Files; public class SymbolicLinkDetectorTest { @Test public void testDetectSymbolicLink() throws IOException { File tempFile = createTempFile(); if (isSymbolicLinkSupported()) { Files.createSymbolicLink(tempFile.toPath(), new File("c:\\temp").toPath()); assert SymbolicLinkDetector.detectSymbolicLink(tempFile); } else { assert !SymbolicLinkDetector.detectSymbolicLink(tempFile); } } private File createTempFile() throws IOException { File tempFile = File.createTempFile("test", ".tmp"); tempFile.deleteOnExit(); return tempFile; } private boolean isSymbolicLinkSupported() { return System.getProperty("os.name").toLowerCase().contains("linux"); } }
1条答案
按热度按时间nxagd54h1#