这可能是一个愚蠢的问题,但是您是否对 PHP 函数/脚本的 HTML 输出进行单元测试?
我尝试将我的 HTML 和 PHP 分开 - 即 HTML 包含占位符,以及某些重复元素的函数(表格数据/任何类型的循环输出) - 但我不知道如何去验证这一点。
是否有一个标准的方法来处理这些事情,或者主要是对函数使用常规单元测试create插入的内容,然后确保它在浏览器/W3C 验证器中看起来正确?
Thanks.
编辑:我想这个的一个推论是:这些类型的单元测试值得拥有吗?如果您将内容和结构正确分开,那么您实际上只会在非常有限的场景中测试少数包含内容(大概是这样)。为了有一个文件进行比较而半手工制作整页真的值得吗?
根据我测试 HTML 的经验,我现在遵循以下三个基本规则:
1. 不要根据正确的模板测试 HTML 输出。您将过于频繁地修改输出的 HTML,最终会浪费时间来维护测试。
2. 检查生成的 HTML 中是否存在重要数据。如果您要生成 HTML(而不是编写一次的静态 HTML),请测试生成的 HTML 中的重要数据。例如:如果您要基于二维数组生成表格,请检查数组中的值是否在生成的 HTML 中的某处找到。不要费心去验证完整的输出,因为这会违反#1。
3. 验证输出是否为正确的 HTML。验证所有输出的 HTML 是否正确,以避免愚蠢的错误,例如缺少结束标记。我为此编写了一个库,可以完全免费使用。
这个 PHP 库可以让您验证字符串是否是有效的 HTML5。该库使用 Validator.nu。与 PHPUnit 或任何其他测试框架兼容。
在这里下载和文档。 https://404it.no/en/blog/php_class_for_validating_html5
易于使用,例如:
$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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)