PHP Classes


Recommend this page to a friend!
  Classes of Stefan Kientzler   PHP HTML Test Case   Download  
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP HTML Test Case
Extends PHPUnit to test HTML output
Author: By
Last change: Doc changes
Date: 2 years ago
Size: 2,716 bytes


Class file image Download

Extension of PHPUnit Testcase for HTML testing.

Latest Stable Version License Donate Minimum PHP Version


Very often the main purpose of a PHP package is to generate any specific HTML code. This extension of the existing base class can mainly be used for the automated testing of such packages with PHPUnit.

In addition to numerous methods with which the presence or the content of certain tags, elements or attributes within an HTML block can be checked, the package also offers the possibility of checking an HTML document or block as a whole for its validity. (validates for W3C - HTML5)

This validation is done with a cURL request to the REST API from The Nu Html Checker that is reachable at

As a small addition, a text can be checked to ensure that it does not contain any HTML tags

Available tests

This package contains a class that extends the PHPUnit TestCase class to perform HTML test for multiple purposes:

It supports several methods to test/assert for - valid HTML5 document/block - existing HTML tag/element/attribute - HTML tag/element/attribute value equals expected - HTML tag/element/attribute contains expected part - HTML tag/element has requested style set to expected value - given text is plain text (means, text doesn't contain any HTML tags)

A full class reference can be found here.


The class is designed for use with the Version 9 of PHPUnit and to do the cURL request for HTML validation, the PHP libraries cURL and OpenSSL are required.


You can integrate the source file HtmlTestCase.php into your own PHPUnit Test-infrastructure (you may have to rename or change the namespace) or use it as it is.

The only change to your own test code is to use the HtmlTestCase class instead of TestCase as the base class for your test cases. The phpunit.xml is an example configuration that calls the tests from the ExampleTest directory.

This testcase contains two tests for each assertion-method of the package. The first of each is passed successful, the second one fails so you can see the generated error messages.