laravel框架中单元测试一个方法实现一个接口不同参数请求代码示例

2023-06-01 00:00:00 示例 框架 请求

作为测试当然是怎么方便怎么来,同一个接口不同参数请求功能编写介绍两种方式


示例代码1

class DemoTest extends TestCase
{
    /**
     * 测试demo
     *
     * @return void
     */
    public function testApplyDemo()
    {
        $response = $this->post('/car/gas/v1/detail_v2', [
            'user_id' => 5000000,
            'gas_id' => 1001,
        ]);
        $response->assertStatus(200)
            ->assertJsonStructure([
                'ciphertext',
            ])
            ->dump();
           
        $response = $this->post('/car/gas/v1/detail_v2', [
            'xxx' => 'xxx'
        ]);
        $response->assertStatus(200)
            ->assertJsonStructure([
                'ciphertext',
            ])
            ->dump();
    }
}


代码示例2

数据提供器方式

    public function gasIds()
    {
        return [
            [1,5000000],
            [2,5000001],
        ];
    }
    /**
     * @dataProvider gasIds
     */
     public function testApplyDemo(int $gas_id,int $user_id)
     {
       $this->post('/car/gas/v1/detail_v2', [
                    //'user_id' => $user_id,
                   'gas_id' => $gas_id,
               ])->assertStatus(200)
                   ->assertJsonStructure([
                       'ciphertext',
                   ])
                   ->dump();
     }


数据提供器:

http://www.phpunit.cn/manual/current/zh_cn/writing-tests-for-phpunit.html#writing-tests-for-phpunit.data-providers

相关文章