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
相关产品推荐
相关产品推荐

