覆盖已在后台设置的路径

Overwrite path already set in Background

pathBackground: 中设置后,有没有办法覆盖它?

我有很多测试(边界值),它们基本上只根据我测试它们的功能而有所不同。所以很高兴我可以在 Background 中设置 path。 但在奇怪的情况下,我需要链接几个调用,因此也需要链接 path 变量。

如果我这样做

Given path 'Client/GetClient'
...
Given path 'GetServices'
...

路径在每次 path 调用时都被正确覆盖,但如果我这样做

Background:
  * path 'Client/GetClient'
...
Given path 'GetServices'

Given路径被附加到已经定义的Background路径,因此它变成Client/GetClient/GetServices。 我希望第一次是Client/GetClient,第二次是GetServices

是的,"append" 行为是设计使然,它在 REST-ful URL-s 的典型测试中运行良好!但是你为什么不把背景路径移到你的测试中呢?

Given path basePath, 'Client', 'GetClient'
...
Given path basePath, 'GetServices'

(编辑删除了错误的信息)。

另一个建议是不要使用 path 并且只使用 URL:

Given url myUrl + '/basePath/Client/GetClient'
...
Given url myUrl + '/basePath/GetServices'