我正在尝试创建普通删除测试,并且我们的端点检查Etags。进行此恕我直言的正确方法是:
所以我有这样的东西:
Feature: Delete with etag
Background:
* url config.url
* path 'path/to/entity/type'
Scenario: Retrieve Login page url
Given path entityId
When method get
* def etag = responseHeaders['Etag']
Given path entityId
And header Etag = etag
When method delete
Then status = 204
这似乎应该起作用,但是我看到的是在两个请求之间重置了在后台设置的根路径。这是预期的吗?如果假设是,如果您在一个场景中发出多个请求,则随后的请求可能指向不同的url,这是有道理的,并且有必要重置该路径以避免对辅助主机造成污染(因为路径是仅追加的)
作为后续,根据我的经验,这是一个非常常见的情况。有没有更好的使用模式来处理这种事情?
答案 0 :(得分:1)
很简单,您只需调整“基本URL”以匹配REST“资源”即可。 url
将不重新设置。 path
是。
* url config.url + '/path/to/entity/type'
现在这将按您期望的那样工作:
Given path entityId
如果您仔细观察,Hello World example将显示此模式。