gpt4 book ai didi

laravel-4 - codeception - 模拟 api 调用数据

转载 作者:行者123 更新时间:2023-12-05 01:34:08 24 4
gpt4 key购买 nike

我正在为前端应用程序构建和编写测试,该应用程序正在为所有数据调用 API。我正在使用 Codeception 进行测试。到目前为止,功能测试和验收测试都在工作,但是,我希望功能测试独立于 API,这样我就可以在不依赖 API 服务应用程序的情况下运行它们。

有没有办法模拟来自 API 调用的数据?或者这是单元测试的领域?

最佳答案

我使用 PHPUnit 进行 API 测试。我希望这能帮到您。

我刚刚为此测试提供了一些示例输入数据并验证它是否会按预期返回错误/成功代码
如果测试没有得到预期的返回码,那么它会提示错误。

class ForgotPasswordTest extends \TestCase{

/**
* Test Forgot Password API With valid parameters
* It will check forgot password functionality with success conditions
*/

public function testForgotPasswordWithValidParameter()
{
$param=array("email"=>"shindesatishsss@gmail.com");
$response = $this->call('POST', 'forgotPassword',$param);
$data = json_decode($response->getContent(), true);
if(!isset($data["code"]))
$this->assertFalse(false);
/** check response code
* Return 600 in case if API executed successfully
*/
$this->assertEquals("600", $data["code"]);
}

/**
* Test Forgot Password API With Invalid parameters
* It will check whether you have applied user exist condition
*/

public function testForgotPasswordWithInValidParameter()
{
$param=array("email"=>"test@test.com");
$response = $this->call('POST', 'forgotPassword',$param);
$data = json_decode($response->getContent(), true);
if(!isset($data["code"]))
$this->assertFalse(false);
/** check response code
* Return 404 if user not found
*/
$this->assertEquals("404", $data["code"]);
}

/**
* Test Forgot Password API With Invalid parameters
* It will check input validations are working fine in the API
*/

public function testForgotPasswordWithInValidEmail()
{
$param=array("email"=>"satish");
$response = $this->call('POST', 'forgotPassword',$param);
$data = json_decode($response->getContent(), true);
if(!isset($data["code"]))
$this->assertFalse(false);
/** check response code
* Return 400 error code if there are some input validation error
*/
$this->assertEquals("400", $data["code"]);
}

}

你也可以设置一些其他的测试用例,为此只需要在这个类中使用不同的测试用例创建新函数。

关于laravel-4 - codeception - 模拟 api 调用数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23086947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com