phpfui / html-unit-tester
PHPUnit 测试扩展,用于 HTML 和 CSS,通过 v.Nu 验证器确保有效的 HTML 和 CSS
V1.0.11
2023-11-23 14:12 UTC
Requires
- php: >=8.0 <8.4
- rexxars/html-validator: >=2.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.2
- phpfui/phpunit-syntax-coverage: >=1.0
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^7.0 | <11.0
- roave/security-advisories: dev-latest
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 版本的优点远远超过了陈旧的向后兼容性观念。是时候升级了。