php – HTML输出的单元测试?

这可能是一个愚蠢的问题,但是您是否对 PHP函数/脚本的HTML输出进行单元测试?

我尝试保留我的HTML和我的PHP分离 – 即HTML包含占位符,以及某些重复元素(表格数据/任何类型的循环输出)的功能 – 但我不知道如何验证这一点.

有没有一个标准的方法去做这样的事情,还是主要是在创建插入的内容功能上使用常规单元测试的问题,然后在浏览器/ W3C验证器中确定它是否正确?

谢谢.

编辑:我猜这个推论是:这些单元测试甚至值得吗?如果您正在保持内容和结构正确分离,那么您真的只会在非常有限的场景中测试一些内容(可能无论如何).是否真的值得半手制作完整的页面,只是要有一个文件来比较?

测试HTML输出将被视为覆盖测试.最初,当我开始使用PHP时,我正在创建这些测试,但是随着时间的推移,我发现这些测试并不是很有帮助.

如果有一件事我知道,那么演示将从初始开发到部署都有很大的变化.

如果你考虑一下,一个for循环真的不是逻辑,而是一个等距变换函数,如果你遵循分离的关注,那么你就是通过某种方法将数据传递给for循环.我会建议测试for循环获取正确的数据,但不是for循环的输出.

如果您发现自己重复自己生成表,那么通过开始单元测试这些表模板.但是,再次,您会发现这些模板会看到很多变化.

此时您应该查看将迭代与HTML输出分开,以帮助您在测试中将这些问题与您隔离.

一种方法是使用映射函数,它将使用列表和变换函数,并对列表中的每个项执行该函数,然后返回变换列表.

通常,在创建表时,我最终会创建一个两行for循环.

>迭代所有行.
>在(1)中迭代列中的项目.

相当丑陋的单元测试,但是关闭你可以创建一个真的很容易[这是一粒盐]来实现的函数发生器.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...