这可能是一个愚蠢的问题,但是您是否对
PHP函数/脚本的HTML输出进行单元测试?
我尝试保留我的HTML和我的PHP分离 – 即HTML包含占位符,以及某些重复元素(表格数据/任何类型的循环输出)的功能 – 但我不知道如何验证这一点.
有没有一个标准的方法去做这样的事情,还是主要是在创建插入的内容的功能上使用常规单元测试的问题,然后在浏览器/ W3C验证器中确定它是否正确?
谢谢.
编辑:我猜这个推论是:这些单元测试甚至值得吗?如果您正在保持内容和结构正确分离,那么您真的只会在非常有限的场景中测试一些内容(可能无论如何).是否真的值得半手制作完整的页面,只是要有一个文件来比较?
测试HTML输出将被视为覆盖测试.最初,当我开始使用PHP时,我正在创建这些测试,但是随着时间的推移,我发现这些测试并不是很有帮助.
如果有一件事我知道,那么演示将从初始开发到部署都有很大的变化.
如果你考虑一下,一个for循环真的不是逻辑,而是一个等距变换函数,如果你遵循分离的关注,那么你就是通过某种方法将数据传递给for循环.我会建议测试for循环获取正确的数据,但不是for循环的输出.
如果您发现自己重复自己生成表,那么通过开始单元测试这些表模板.但是,再次,您会发现这些模板会看到很多变化.
此时您应该查看将迭代与HTML输出分开,以帮助您在测试中将这些问题与您隔离.
一种方法是使用映射函数,它将使用列表和变换函数,并对列表中的每个项执行该函数,然后返回变换列表.
通常,在创建表时,我最终会创建一个两行for循环.
>迭代所有行.
>在(1)中迭代列中的项目.