PHPUnit – Übersicht der Methoden (Cheat Sheet)

Für euch Unittester da draußen, hier ein Cheat Sheet für den Alltag. Lohnt sich auch so zu lesen, um sich ein paar Anregungen zu holen. Wer kennt schon alle Funktionen auswendig.

Inhaltsverzeichnis

Assertions / Prüfungen

Allgemein

assertThat
assertEmpty, assertNotEmpty
assertGreaterThan, assertGreaterThanOrEqual, assertLessThan, assertLessThanOrEqual
assertInternalType, assertNotInternalType
assertTrue, assertFalse
assertNull,  assertNotNull
assertEquals, assertNotEquals,  assertSame, assertNotSame

Objekte und Klassen

assertInstanceOf, assertNotInstanceOf
assertAttributeInstanceOf, assertAttributeNotInstanceOf
assertAttributeInternalType, assertAttributeNotInternalType
assertObjectHasAttribute, assertObjectNotHasAttribute
assertClassHasAttribute, assertClassNotHasAttribute
assertClassHasStaticAttribute, assertClassNotHasStaticAttribute
assertAttributeEmpty, assertAttributeNotEmpty
assertAttributeContains, assertAttributeNotContains
assertAttributeContainsOnly, assertAttributeNotContainsOnly
assertAttributeEquals, assertAttributeNotEquals
assertAttributeSame, assertAttributeNotSame
assertAttributeGreaterThan, assertAttributeGreaterThanOrEqual
assertAttributeLessThan, assertAttributeLessThanOrEqual

Arrays

assertArrayHasKey, assertArrayNotHasKey
assertContains, assertNotContains, assertContainsOnly, assertNotContainsOnly
assertCount, assertNotCount

Strings / Zeichenketten

assertRegExp, assertNotRegExp
assertSelectCount, assertSelectEquals, assertSelectRegExp
assertStringStartsWith, assertStringStartsNotWith
assertStringEndsWith, assertStringEndsNotWith
assertStringEqualsFile, assertStringNotEqualsFile
assertStringMatchesFormat, assertStringNotMatchesFormat,
assertStringMatchesFormatFile, assertStringNotMatchesFormatFile

Dateien, XML, HTML

assertFileEquals, assertFileNotEquals
assertFileExists, assertFileNotExists
assertEqualXMLStructure
assertTag, assertNotTag
assertXmlFileEqualsXmlFile, assertXmlFileNotEqualsXmlFile
assertXmlStringEqualsXmlFile, assertXmlStringNotEqualsXmlFile
assertXmlStringEqualsXmlString, assertXmlStringNotEqualsXmlString


Mock Konfiguration

Anzahl der Aufrufe (expects)

any, never
at
atLeastOnce
exactly, once

Übergebene Parameter (with)

logicalNot, logicalAnd, logicalOr, logicalXor
anything
arrayHasKey
contains
equalTo, identicalTo
greaterThan, greaterThanOrEqual
lessThan, lessThanOrEqual
isTrue, isFalse, isNull
attribute, attributeEqualTo
hasAttribute, classHasAttribute, classHasStaticAttribute
isInstanceOf, isType
matchesRegularExpression, stringContains
stringStartsWith, stringEndsWith
fileExists

Rückgabewerte (will)

onConsecutiveCalls
returnArgument
returnCallback
returnValue
throwException


Mögliche Eventhandler in der Testklasse

public static function setUpBeforeClass()
public static function tearDownAfterClass()
protected function setUp()
protected function tearDown()
protected function assertPreConditions()
protected function assertPostConditions()
protected function onNotSuccessfulTest()


Direkte Manipulation des Testergebnisses

fail()
markTestIncomplete()
markTestSkipped()


Testen von Exceptions

Testen von \Exception ist nicht möglich, da PHPUnit selbst bei fehlgeschlagenen Assertions \PHPUnit_Framework_Exception wirft.

Mit Annotation

Mit Definition im Test selbst

Mit try-catch


Testen von PHP-Fehlern

PHPUnit wandelt alle PHP-Fehler in  eine \PHPUnit_Framework_Error Exception um. Diese kann wie oben gezeigt erwartet und ausgewertet werden.


Testen von Textausgaben


Testfunktion mit verschiedenen Werten (data-provider)


Erläuterung wie Mock-Objekte erstellt werden (getMock)

Mehr zum Thema Unittests