PHPUnit – 使用$_POST变量测试MVC控制器

前端之家收集整理的这篇文章主要介绍了PHPUnit – 使用$_POST变量测试MVC控制器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在和Kohana一起开始使用 PHPUnit.我的应用程序有许多控制器,它只是从某种形式获取数据,验证和插入/更新/删除到/ – /从数据库.我应该如何为此编写测试用例.

我知道如果我想测试一个函数,我会编写数据提供程序函数,只是将返回值与预期函数进行比较.但我的输入数据(来自表单的数据)正在$_POST变量中传递.我该怎么测试呢?之后,我应该检查插入的数据是否真的在数据库中?请为这类测试提供一些指导或链接到一些示例/教程.谢谢.

首先,如果您正在测试从接收POSTed数据到检查数据库中的值的所有方式,那么这不再是单元测试:您没有单独测试一个组件,而是测试集成那些组件在一起.

它使测试更难:

>你必须以更难的方式提供数据:不仅作为方法的参数,而且作为整个应用程序的参数(这意味着伪造POST数据,例如这里)
>您需要验证更多内容:不仅仅是方法的返回值,还是它引发了异常
>你有几个不同的,可能是不相关的东西,可以导致失败(一些PHP代码中的问题,数据库中的问题,数据库服务器不可用,……),这将使故障更难以找到原因.

请注意,我没有说那种“集成”测试没用,顺便说一下;-)

仍然,伪造$_POST数组非常简单:它不是只读的,你可以存储你想要的任何内容.

因此,在测试用例开始时,没有什么能阻止您注入所需的任何数据.

原文链接:https://www.f2er.com/php/135671.html

猜你在找的PHP相关文章