我正在使用代码覆盖REST API的代码。在我目前的情况下,我想测试发送请求以接收所请求资源的ETag-Header的行为,并在同一资源上使用标题“If-None-Match”在第二个请求中重用此ETag的值实现304响应代码。
所以我在Cest-File中所做的是:
// send first request, grab etag
$I->sendGET('/myresource');
$I->seeResponseCodeIs(200);
$I->seeHttpHeader('ETag');
$eTag = $I->grabHttpHeader('ETag');
// send second request with header "If-None-Match" containing the etag
$I->haveHttpHeader('If-None-Match', $eTag);
$I->sendGET('/myresource');
$I->seeHttpHeader('ETag');
$I->seeResponseCodeIs(304);
当我执行此测试时,它在第二个请求后表示响应代码200与304不匹配时失败。 当我使用外部工具(Firefox的HTTP Requester插件)执行相同的请求时,我得到了预期的行为。我需要做些什么来让我的测试工作?我在代码方面讨论某些东西,或者这可能是一个错误?
任何帮助都表示赞赏,也许有人之前已经有过这种情况。 在此先感谢您的帮助!