【发布时间】:2022-01-18 14:53:30
【问题描述】:
我收到了一个由供应商创建的代码,看起来他们的工程师在单元测试中做了很多硬编码。 我有一个函数的单元测试,它将作为代码的一部分生成的报告的完整绝对路径作为字符串输出。 目前失败的单元测试/断言看起来像
val reportPath = obj.getReportPath()
assert(reportPath.equals("file:/Users/khalid.mahmood/ReportingModule/target/report.csv")
其中 ReportingModule 是项目的名称。
代码逻辑很好,因为对我来说 reportPath 变量的值是:
file:/Users/vikas.saxena/coding_dir/ReportingModule/target/report.csv
由于我将项目克隆到我的主目录中名为 coding_dir 的子目录中,因此逻辑对我来说看起来不错。
我想修改断言以确保代码自行绘制项目的基本目录,并且在谷歌搜索时我发现 sbt 有 base 相当于 project.baseDir (from maven) 来自这个 link
但是以下代码更改对我来说没有效果
assert(reportPath.equals(s"""$base""" + "/target/report.csv")
我能否得到一些关于如何做到这一点的指导。
【问题讨论】: