我有一个以以下声明开头的JUnit测试类
@RunWith(SpringRunner.class)
@SpringBootTest
@TestPropertySource(properties = {
"cache.working.dir=./src/test/resources/cacheDirRepository/" } )
如何在基于linux的文件分隔系统('/')和Windows基文件分隔系统('\')上启动这个测试类?
提前谢了,
发布于 2020-07-01 20:55:51
放置以下内容
//平台无关,可以安全地在Linux和Windows上使用
"cache.working.dir=."+File.separator+"src"+File.separator+"test"+File.separator+"resources"+File.separator+"cacheDirRepository"
发布于 2020-07-03 13:48:01
好的。我分享我的最后一个解决方案。也许还有一个更聪明的。我很高兴知道..。
3项行动:
参数化的。
@RunWith(SpringRunner.class)
@SpringBootTest
@TestPropertySource(properties = { "cache.working.dir=." +
"${file_separator}" + "src" +
"${file_separator}" + "test" +
"${file_separator}" + "resources" +
"${file_separator}" + "cacheDirRepository" +
"${file_separator}", ...
@Bean
public static PropertySourcesPlaceholderConfigurer propertiesResolver() {
return new PropertySourcesPlaceholderConfigurer();
}
传递。
适用于Unix/MacOsX
mvn clean install -DargLine="-Dfile_separator=/"
Windows操作系统
mvn clean install -DargLine="-Dfile_separator=\\"
发布于 2020-07-01 19:58:26
java.io.File
包有一些变量,您可以使用它们来解析它:
File.separator // use '/' in linux and '\' in windows
File.separatorChar // use '/' in linux and '\' in windows
File.pathSeparator // use ':' in linux and ';' in windows
File.pathSeparatorChar // use ':' in linux and ';' in windows
https://stackoverflow.com/questions/62684382
复制相似问题