phpfui/html-unit-tester

PHPUnit 测试扩展,用于 HTML 和 CSS,通过 v.Nu 验证器确保有效的 HTML 和 CSS

V1.0.11 2023-11-23 14:12 UTC

This package is auto-updated.

Last update: 2024-09-10 14:43:26 UTC


README

PHPUnit 测试扩展用于 HTML 和 CSS。 PHPFUI\HTMLUnitTester 允许您对 HTML 和 CSS 进行单元测试,查找错误和警告。HTML 或 CSS 中的简单错误常常会导致难以调试的问题,而简单的检查就能揭示出糟糕的代码。

此包将检查独立字符串、文件、整个目录或 URL 中的 HTML 和 CSS 中的错误和警告。

为了获得最佳性能,建议您本地安装 https://github.com/validator/validator

安装

composer require phpfui/html-unit-tester

配置

建议您本地运行 https://github.com/validator/validator。安装 Java 并下载 .jar 文件。使用以下命令运行:

java -Xss1024k -Dnu.validator.servlet.bind-address=127.0.0.1 -cp .\vnu.jar nu.validator.servlet.Main 8888

要使用 GitHub Actions 运行单元测试,请将以下行添加到您的 workflows test.yml 文件中

- name: Setup Java
	uses: actions/setup-java@v3
	with:
		distribution: 'temurin'
		java-version: '11'

- name: Download vnu checker
	run: wget https://github.com/validator/validator/releases/download/latest/vnu.jar

- name: Run Nu Html Checker (v.Nu)
	run: java -cp vnu.jar -Xss1024k -Dnu.validator.servlet.bind-address=127.0.0.1 nu.validator.servlet.Main 8888 &

使用方法

从 \PHPFUI\HTMLUnitTester\Extensions 扩展您的单元测试

class UnitTest extends \PHPFUI\HTMLUnitTester\Extensions
  {
  public function testValidHtml()
    {
    $this->assertValidHtml('<h1>Header</h1>');
    $this->assertValidHtmlPage('<!DOCTYPE html><html><head><meta charset="utf-8"/><title>Title</title></head><body><div>This is a test</div></body></html>');
    }
  }

您可以使用以下断言中的任何一个

  • assertNotWarningCss
  • assertNotWarningCssFile
  • assertNotWarningCssUrl
  • assertNotWarningFile
  • assertNotWarningHtml
  • assertNotWarningHtmlPage
  • assertNotWarningUrl
  • assertValidCss
  • assertValidCssFile
  • assertValidCssUrl
  • assertValidFile
  • assertValidHtml
  • assertValidHtmlPage
  • assertValidUrl

目录测试

您可以使用 assertDirectory 来测试整个目录,而不是逐个文件测试。任何添加到目录中的文件都将自动进行测试。

  $this->assertDirectory('ValidCSS', 'cssDirectory', 'Invalid CSS');
  $this->assertDirectory('NotWarningCSS', 'cssDirectory', 'CSS has warnings');

错误信息将包含违规文件名。

示例

请参阅 示例

文档

完整文档在 PHPFUI\HTMLUnitTester

许可

PHPFUI\HTMLUnitTester 根据 MIT 许可证分发。

PHP 版本

此库仅支持仍接收安全更新的 现代 版本的 PHP。虽然我们希望支持明代晚期的 PHP,但现代 PHP 版本的优点远远超过了陈旧的向后兼容性观念。是时候升级了。