laravelfr/api-testing

一个提供所有API测试所需功能的包!

1.0.0 2017-07-31 18:05 UTC

This package is not auto-updated.

Last update: 2024-09-23 07:02:24 UTC


README

由 LaravelFr 团队提供

本包为您提供一些方法来全面测试您的Laravel API。

LaravelFr团队是一群决定共同贡献一些API测试实用方法的法国朋友。无论你是谁,都可以自由地为这个包做出贡献或加入组织以添加你的方法!

Travis Build StyleCI Code Coverage Code Quality

安装

composer require laravelfr/api-testing

用法

一旦安装了Laravel API Testing,你可以扩展或实现本包中的类和特性。没有需要注册的服务提供者。

它既适用于旧的测试方式(Laravel <5.4和>5.4与BrowserKit)也适用于新的测试方式(使用响应对象)。

  • 旧方式:只需使用 \LaravelFr\ApiTesting\AssertArrays\LaravelFr\ApiTesting\AssertJsonResponse 特性,并直接使用特性中的方法。
  • 新方式:对于 AssertJsonResponse,你可以添加特性,并直接在响应对象上使用方法。

查看测试示例。

可用方法

在此响应示例中

{
   "foo": 134,
   "foobar": {
       "foobar_foo": "foo",
       "foobar_bar": 212
   },
   "bars": [
       {
           "bar": true,
           "foo": 134.212
       },
       {
           "bar": false,
           "foo": 134.212
       },
       {
           "bar": false,
           "foo": 134.212
       }
   ],
   "baz": [
       {
           "foo": "Laravel",
           "bar": {
               "foo": true,
               "bar": 134
           }
       },
       {
           "foo": "France",
           "bar": {
               "foo": false,
               "bar": 212
           }
       }
   ]
}
  • assertJsonStructureEquals:检查它是否遵循 精确 的结构模式。
$response->assertJsonStructureEquals([
    'foo',
    'baz' => ['*' => ['bar' => ['*'], 'foo']],
    'bars' => ['*' => ['bar', 'foo']],
    'foobar' => ['foobar_foo', 'foobar_bar'],
]);
  • seeJsonTypedStructure:检查它是否遵循类型模式。
$response->seeJsonTypedStructure([
    'foo' => 'integer',
    'baz' => ['*' => ['bar' => 'array', 'foo' => 'string']],
    'bars' => ['*' => ['bar' => 'boolean', 'foo' => 'float']],
    'foobar' => ['foobar_foo' => 'string', 'foobar_bar' => 'int'],
]);
  • seeJsonTypedStructure:以数组格式检索响应的一部分。
$response->jsonResponse('foobar.foobar_bar')); // 212

鸣谢

请随时提出PR并添加你的贡献!