Karate 测试时管道破裂(写入失败)>;允许的最大内容长度

Karate 测试时管道破裂(写入失败)>;允许的最大内容长度,karate,Karate,我正在尝试编写一个测试,验证我的服务器是否拒绝大于1MB的请求: Scenario: large requests are rejected Given url 'https://my.server.com/anything' And request "x".repeat(1048577) When method post Then status 413 此测试失败,出现javax.net.ssl.SSLException:breaked p

我正在尝试编写一个测试,验证我的服务器是否拒绝大于1MB的请求:

Scenario: large requests are rejected
    Given url 'https://my.server.com/anything'
    And request "x".repeat(1048577)
    When method post
    Then status 413
此测试失败,出现
javax.net.ssl.SSLException:breaked pipe(Write failed)
异常,因为服务器读取
Content Length
头并立即拒绝请求/在读取有效负载之前以413响应

我通过cURL验证了服务器行为:

$> printf 'x%.0s' {1..1048577} | curl -i --data @- https://my.server.com/anything
HTTP/1.1 413 Request Entity Too Large

有没有可能用空手道来测试这个功能?

空手道当然不是专门为这种情况设计的。您可能无法完全控制某些“特殊”标题,如
内容长度
——我们受到底层Apache HTTP客户端的限制

我不确定即将推出的1.0系列是否支持这一点,是否允许您重写
内容长度
标题:

但如果需要,欢迎您调查并提交PR

作为解决方法,您可以使用空手道卷曲: