You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache APISIX:如何在test::base/test::nginx/perl测试用例中添加换行符?

Apache APISIX测试用例换行符匹配问题

在编写Apache APISIX功能测试用例时遇到问题:测试结果的got部分比expected部分多一个换行符,导致匹配失败。

以下是测试代码:

=== TEST 8: get value from vault: token env var wrong/missing
--- config
    location /t {
        content_by_lua_block {
            local vault = require("apisix.secret.vault")
            local conf = {
                prefix = "kv/apisix",
                token = "$ENV://VALT_TOKEN",
                uri = "http://127.0.0.1:8200"
            }
            local value, err = vault.get(conf, "/apisix-key/jack/key")
            if err then
                return ngx.say(err)
            end

            ngx.print("value")
        }
    }
--- request
GET /t
--- response_body
failed to decode result, res: {"errors":["permission denied"]}



=== TEST 9: get value from vault: token env var contains wrong token
--- config
    location /t {
        content_by_lua_block {
            local vault = require("apisix.secret.vault")
            local conf = {
                prefix = "kv/apisix",
                token = "$ENV://WRONG_VAULT_TOKEN",
                uri = "http://127.0.0.1:8200"
            }
            local value, err = vault.get(conf, "/apisix-key/jack/key")
            if err then
                return ngx.say(err)
            end

            ngx.print("value")
        }
    }
--- request
GET /t
--- response_body
failed to decode result, res: {"errors":["permission denied"]}

我尝试在预期的response_body末尾添加\n,如下所示:

--- response_body
failed to decode result, res: {"errors":["permission denied"]}\n

但这种方法无效。之后我尝试用引号包裹预期内容以包含换行符,同样没有效果。

另一种思路是通过代码移除got部分的换行符,但我认为修改响应内容并非理想解决方案。

内容的提问来源于stack exchange,提问作者Shreemaan Abhishek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 08:56:08