spec2-html在Windows下因类Unix格式路径执行失败
解决Windows下spec2 HTML测试报告模板路径错误的问题
可行解决方案
1. 使用相对路径指定模板文件
避免使用带驱动器号的绝对路径,改用相对于项目根目录的相对路径。比如将模板路径设置为:
src/test/resources/templates/report.html
这样spec2会基于项目目录查找文件,不会触发错误的路径转换逻辑。
2. 手动指定正确的绝对路径
在spec2的配置中直接写入Windows格式的绝对路径(注意用双反斜杠转义,或使用Scala原始字符串):
import org.spec2.reporter.HtmlConfiguration override def htmlConfiguration: HtmlConfiguration = defaultHtmlConfiguration.copy( templatePath = raw"C:\dvl\myProject\src\test\resources\templates\report.html" )
或者在sbt命令行启动时通过系统属性强制指定:
sbt -Dspec2.html.template.path=C:\dvl\myProject\src\test\resources\templates\report.html test
3. 调整系统路径分隔符
在启动sbt时添加系统属性,强制使用Windows风格的路径分隔符:
sbt -Dfile.separator=\ test
这会让spec2在处理路径时使用反斜杠,避免生成带前置斜杠的错误路径。
4. 升级spec2版本
旧版本的spec2可能存在Windows路径处理的兼容性bug,尝试升级到最新稳定版(比如4.x系列),新版本通常会修复这类跨平台路径问题。
内容的提问来源于stack exchange,提问作者hellerim
相关产品推荐
相关产品推荐

