帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:Swagger  test  Generated  cod  
Test code generated from Swagger

  • 源代码名称:swagger-test-templates
  • 源代码网址:http://www.github.com/apigee-127/swagger-test-templates
  • swagger-test-templates源代码文档
  • swagger-test-templates源代码下载
  • Git URL:
    git://www.github.com/apigee-127/swagger-test-templates.git
  • Git Clone代码到本地:
    git clone http://www.github.com/apigee-127/swagger-test-templates
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/apigee-127/swagger-test-templates
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Swagger测试模板 Linux Windows
    Build StatusBuild Status

    Swagger 规范生成测试代码( 版本 2.0 )

    用法

    通过npm安装

    npm install --save swagger-test-templates

    使用你的规范文件为你的API生成测试。

    var stt =require('swagger-test-templates');var swagger =require('/path/to/swagger.json');var config = {
     assertionFormat:'should',
     testModule:'supertest',
     pathName: ['/user', '/user/{id}'],
     loadTest: [{pathName:'/user', operation:'get', load:{requests:1000, concurrent:100}}, { /*.. . */ }],
     maxLen:80,
     pathParams: {
     "id":"0123" }
    };// Generates an array of objects containing the test file content, following specified configuration// the array contains objects with the scheme { name: <test-file-name>, test: <test-file-content> }// tests = [ {name: base-path-test.js, test:.. . }, {name: users-test.js, test:.. . }]var tests =stt.testGen(swagger, config);

    API

    swagger-test-templates MODULE 导出具有下列参数和返回值的函数:

    命令行参数

    • assertionFormat需要: shouldexpect 或者 assert 之一。 选择在输出测试代码中应使用哪个断言方法。
    • testModule需要: supertest 或者 request 之一。 在直接API之间选择( request ) vs programatic访问你的API ( supertest ) 。
    • pathName需要: Swagger规范中可用的路径名称列表,用于生成测试。 空 array 导致所有路径
    • statusCodes可选的 array,带有状态代码,可以为。 仅用于生成愉快的流量测试。 排除这里参数将生成所有响应的测试。
    • loadTest可选: Swagger API规范中用于生成压力测试的对象信息列表。 如果指定,路径名&操作为 require 。 可选的字段请求默认为 1000,并发默认值为 100
    • maxLen可选: 最大行长度如果设置为 -1,说明将不会被截断。 默认为 80
    • pathParams可选: 对象,包含特定路径参数的值。
    • templatesPath可选字符串,指示用于生成测试的自定义把手模板路径。 注意:将所有模板复制到自定义目录,这是'all-or-nothing'路径
    • optional可选对象包含data请求发送的数据see有关详细信息,请参见requestData上的部分

    返回值

    一个 array,其中每个字符串都是一个测试文件的内容和文件 NAME 。 使用这里信息将这些文件写入磁盘。

    发送 requestData

    基于模式,有几个模块可以供你生成模拟请求负载。 你可以通过填充 MODULE的requestData 属性来发送这里模拟数据以及由此 MODULE 生成的测试。 模拟数据需要具有以下结构:

    模拟HTTP请求正文

    {
     '/endpoint': {
     operation: {
     'responseCode': [{ body: {}, description:'some description of the data']
     }
     }
     }

    模拟路径参数

    {
     '/pet/{name}': {
     get: {
     '200': [{ name:'spot', description:'some description of the data']
     }
     }
     }

    模拟查询参数

    如果 swagger API具有 name 查询参数的定义,这将向 /pet?name=spot 发出一个请求。

    {
     '/pet': {
     get: {
     '200': [{ name:'spot', description:'some description of the data']
     }
     }
     }

    模拟HTTP头

    这将添加一个HTTP头 X-Token 设置为 waestrydtufj 假设你的for API具有该标头的定义。

    {
     '/pet': {
     get: {
     '200': [{ 'X-Token':'waestrydtufj', description:'some description of the data']
     }
     }
     }

    因此,这可能是:

    {
     '/pet': {
     post: {
     '200': [{
     body: {
     id:1,
     otherProperty:'some property that is a string' },
     description:'the description for this data' }]
     },
     get: {
     '200': [ {
     guid:'some_string_to_place_in_path',
     anotherPathParam:100,
     description:'valid path or query parameters' }]
     }
     }
     }

    注意:对于获取请求匹配的数据将被传送到 pathParams 。 因这里,直接设置 config.pathParams 具有相同的效果( 请参见上方) 。

    responseCode array 中的每个mockData项都将用于生成测试。 描述将被添加到"它"函数中以供参考。

    许可证



    文章标签:cod  test  Swagger  Generated  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语