覆盖已在后台设置的路径
Overwrite path already set in Background
path
在 Background:
中设置后,有没有办法覆盖它?
我有很多测试(边界值),它们基本上只根据我测试它们的功能而有所不同。所以很高兴我可以在 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'
path
在 Background:
中设置后,有没有办法覆盖它?
我有很多测试(边界值),它们基本上只根据我测试它们的功能而有所不同。所以很高兴我可以在 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'