如何在使用 ScalaPact 进行合同驱动测试时修改生成的契约文件的目标文件夹
How to modify the target folder for generated pact files while doing Contract Driven Testing using ScalaPact
我正在使用 scalapact 进行 CDC 测试。
我的测试 运行 很好,协议文件是在 target>pacts 文件夹下生成的。
我有另一个文件夹 "files",我希望在 运行 协议测试后生成这些协议文件。
有什么方法可以配置契约文件的默认路径吗?
这是 Scala-Pact 中需要注意的地方,但是,不久前有人好心地为我们做了一个 PR,让您可以设置一个名为 pact.rootDir
.
的环境变量
实际上,在 linux/mac 上,由于 .
,该变量的设置有点棘手,因此似乎无法导出它或仅在命令参数中使用 -Dpact.rootDir="<my desired path>"
上班。相反,您需要这样做:
env "pact.rootDir=<my desired path>" bash
。我还没有在 Windows 上试过这个,所以我不知道你是否有同样的问题。
我刚刚提出了一个问题,试图让这在未来变得更容易:
https://github.com/ITV/scala-pact/issues/101
作为替代方案,请注意 pact 目录实际上是一个 scratch/tmp 区域,允许 Scala-Pact 编译它的输出。如果您运行将此作为构建脚本的一部分,您可能只想添加一个步骤,以便在资产生成后将其复制到新位置。
此外,出于某种原因,我们使从 目录读取 比将 写入 目录更容易。如果你需要从目录中读取,比如在验证期间,你可以在命令行上添加 --source <my desired path>
。
希望对您有所帮助。
我正在使用 scalapact 进行 CDC 测试。
我的测试 运行 很好,协议文件是在 target>pacts 文件夹下生成的。
我有另一个文件夹 "files",我希望在 运行 协议测试后生成这些协议文件。
有什么方法可以配置契约文件的默认路径吗?
这是 Scala-Pact 中需要注意的地方,但是,不久前有人好心地为我们做了一个 PR,让您可以设置一个名为 pact.rootDir
.
实际上,在 linux/mac 上,由于 .
,该变量的设置有点棘手,因此似乎无法导出它或仅在命令参数中使用 -Dpact.rootDir="<my desired path>"
上班。相反,您需要这样做:
env "pact.rootDir=<my desired path>" bash
。我还没有在 Windows 上试过这个,所以我不知道你是否有同样的问题。
我刚刚提出了一个问题,试图让这在未来变得更容易: https://github.com/ITV/scala-pact/issues/101
作为替代方案,请注意 pact 目录实际上是一个 scratch/tmp 区域,允许 Scala-Pact 编译它的输出。如果您运行将此作为构建脚本的一部分,您可能只想添加一个步骤,以便在资产生成后将其复制到新位置。
此外,出于某种原因,我们使从 目录读取 比将 写入 目录更容易。如果你需要从目录中读取,比如在验证期间,你可以在命令行上添加 --source <my desired path>
。
希望对您有所帮助。