美文网首页
31.OpenResty测试框架----Test::Nginx学

31.OpenResty测试框架----Test::Nginx学

作者: 人生玩家Eli | 来源:发表于2022-09-09 23:09 被阅读0次
    cover20220907.png

    相关网站

    Test-Nginx文档
    使用文档(英文的)

    安装方法

    sudo cpan Test::Nginx

    我在挂了梯子之后才安装成功

    目录结构

    在项目根目录下创建一个文件夹"t"

    在这个文件夹下创建若干后缀为".t"的文件即可

    如:

    └── t
        ├── bug.t
        ├── builtin.t
        ├── eval.t
        ├── input-conn.t
        ├── input-cookie.t
        ├── input-ua.t
        ├── input.t
        ├── phase.t
        ├── sanity.t
        ├── subrequest.t
        ├── unused.t
        └── vars.t
    

    测试文件结构

    测试文件的内容由2部分构成,上面是Perl代码,下面是数据,中间用"__DATA__"分割。

    如:

    use Test::Nginx::Socket 'no_plan';
    
    run_tests();
    
    # 上面是Perl代码
    __DATA__
    # 下面是数据
    
    # 每一个测试块以"==="开头,后面是测试块的名称
    === TEST 1: hello, world
    这是一个简单的测试  # 这行写描述信息
    
    # 这是一个section,section以"---开头", 后面接section的名字,不同的section有不同的作用
    # 这个section的作用是把下面的配置写进配置文件的server{}下
    --- config
    location = /t {
        echo "hello, world!";
    }
    
    # 这个section发起了一个请求
    --- request
    GET /t
    
    # 检查响应内容是不是"hello, world!"
    --- response_body
    hello, world!
    
    # 检查错误码是不是200
    --- error_code: 200
    

    运行测试

    配置环境变量:export PATH=/usr/local/openresty/nginx/sbin:$PATH

    使用prove命令来运行,如:prove t/foo.t

    如果使用vim, 在vim中输入命令:!prove %可以运行当前文件

    相关文章

      网友评论

          本文标题:31.OpenResty测试框架----Test::Nginx学

          本文链接:https://www.haomeiwen.com/subject/aywznrtx.html