gpt4 book ai didi

php - HTML 输出的单元测试?

转载 作者:IT王子 更新时间:2023-10-29 00:04:24 30 4
gpt4 key购买 nike

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

我尝试将我的 HTML 和我的 PHP 分开 - 即 HTML 包含占位符和某些重复元素的函数(表格数据/任何类型的循环输出) - 但我不确定如何验证这一点。

有没有一种标准的方法来处理这些事情,或者主要是对创建插入内容的函数使用常规单元测试,然后确保它在浏览器中看起来正确/W3C 验证器?

谢谢。

编辑:我想这的必然结果是:这些类型的单元测试是否值得拥有?如果您将内容和结构适本地分开,那么您实际上只会在非常有限的场景中测试少数包含(大概是这样)。为了有一个文件进行比较而半手工制作整页真的值得吗?

最佳答案

根据我测试 HTML 的经验,我现在遵循以下三个基本规则:

<强>1。不要针对正确的模板测试 HTML 输出。您将过于频繁地修改输出的 HTML,最终会浪费时间维护您的测试。

<强>2。检查生成的 HTML 中是否存在重要数据。如果您要生成 HTML(与一次性编写的静态 HTML 相对),请测试生成的 HTML 中的重要数据。例如:如果您基于二维数组生成表格,请检查数组中的值是否在生成的 HTML 中的某处找到。不要费心去验证完整的输出,因为这会违反#1。

<强>3。验证输出是否为正确的 HTML。验证所有正确 HTML 的输出以避免愚蠢的错误,例如缺少结束标记。我为此编写了一个库,可以完全免费使用。

此 PHP 库可让您验证字符串是否为有效的 HTML5。该库使用 Validator.nu。与 PHPUnit 或任何其他测试框架兼容。

Download and documentation here.

易于使用,示例:

$validator=new HTML5Validate();

// Validate (returns TRUE or FALSE)
$result=$validator->Assert('<p>Hello World</p>');

// Get explanation of what's wrong (if validation failed)
print $validator->message;

关于php - HTML 输出的单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3429218/

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