繁体   English   中英

如何为新的MVC框架创建单元测试

[英]How to create unit tests for a new MVC framework

我最近一直在学习MVC并且已经开始创建我自己的框架(当然仅用于学习目的)来自http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part 1 /

我希望能够扩展这些基类,但首先我希望能够对它们进行单元测试。 有谁知道我将如何测试基础控制器,模型和模板类?

提前致谢!

只需编写测试类,最好是镜像你的框架结构(例如ControllerTestModelTest等),这些类通过他们的步调,即放入一些数据并检查输出。 如果您的代码结构良好,应该很容易实现。

编辑

基本上,你在单元测试中测试的是if ( Class::methodToTest( $input ) === $expected_output ) 对于相同的$input ,输出必须始终相同。 如果不是这种情况,或者您无法测试编写这样的测试用例,则通常表明您的代码结构不合理(面向对象且松散耦合)。

例如, Template::render()方法是不可测试的,因为它打印数据而不是返回它。 现在,您可以通过使用ob_start()来解决这个问题,但无论如何更好的方法是将函数切换为较小的部分,返回值而不是直接打印它们。

这有点抽象,但我希望你明白这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM