过滤器

数据段过滤器用于在比较之前对段的值进行转换处理。

过滤器概览

过滤器附加在段名之后,可以链式使用。框架内置以下过滤器:

过滤器作用示例
chomp去除末尾的换行符--- response_body chomp
chop去除末尾的最后一个字符--- response_body chop
eval将值作为 Perl 表达式执行--- response_body eval
trim去除首尾空白字符--- response_body trim

chomp 过滤器

chomp 是最常用的过滤器,去除段值末尾的换行符:

perl
1# 不使用 chomp:预期值末尾会自动加 \n
2--- response_body
3hello
4
5# 使用 chomp:精确匹配,不加 \n
6--- response_body chomp
7hello

eval 过滤器

eval 过滤器将段值作为 Perl 代码执行,返回值作为实际值:

perl
1# 生成包含特殊字符的字符串
2--- response_body eval
3"line1\nline2\n"
4
5# 生成大量数据
6--- request eval
7"POST /t\n" . ("x" x 4096)
8
9# 生成数组(用于 pipelined_requests)
10--- response_body eval
11["resp1\n", "resp2\n", "resp3\n"]

eval 过滤器在需要处理二进制数据、特殊字符或动态内容时非常有用。