PHPUnit toolbox with short assertion aliases and useful testing utilities. This library provides a more concise and readable way to write tests by offering shorter function names for common PHPUnit assertions.
- Short assertion aliases - Use
isTrue()instead of$this->assertTrue() - Extended assertions - Additional assertions for emails, dates, amounts, file contents
- Environment detection - Detect if running under TeamCity, Travis, PhpStorm
- Built-in utilities - Tools for test organization and debugging
- PHP 8.2+ support - Modern PHP features and strict typing
composer require jbzoo/phpunit --devnamespace JBZoo\PHPUnit;
/**
* Class PackageTest
* @package JBZoo\PHPUnit
*/
class PackageTest extends PHPUnit
{
public function testSimple()
{
// Boolean
isTrue(true);
isFalse(false);
// null
isNull(null);
// Check is variable empty
isEmpty(0);
isEmpty('');
isEmpty(null);
isEmpty('0');
isEmpty(.0);
isEmpty(array());
// Equals
is(1, true);
is(array(1, 2, 3), array(1, 2, 3));
isSame(array(1, 2, 3), array(1, 2, 3));
// Array, Object etc
isKey('test', array('test' => true));
isNotKey('undef-kest', array('test' => true));
isAttr('test', (object)array('test' => true));
isNotAttr('undef-test', (object)array('test' => true));
// Instance Of ...
isClass(JBZoo\PHPUnit\PHPUnit::class, $this);
// Count props
isCount(0, array());
isCount(1, array(1));
isCount(2, array(1, 3));
// regExp
isLike('#t.st#i', 'TESTO');
isNotLike('#teeest#i', 'TESTO');
// Strings
isContain('t', 'test');
isNotContain('x', 'test');
// Filesystem
isFileEq(__FILE__, __FILE__);
isFile(__FILE__);
isDir(__DIR__);
}
public function testSkip()
{
skip('Some reason to skip this test');
}
public function testFail()
{
fail('Some reason to fail this test');
}
}is($expected, $actual)- assertEqualsisNot($expected, $actual)- assertNotEqualsisSame($expected, $actual)- assertSameisNotSame($expected, $actual)- assertNotSameisTrue($value)- assertTrueisFalse($value)- assertFalseisNull($value)- assertNullisNotNull($value)- assertNotNullisEmpty($value)- assertEmptyisNotEmpty($value)- assertNotEmpty
isKey($key, $array)- assertArrayHasKeyisNotKey($key, $array)- assertArrayNotHasKeyisAttr($name, $object)- Check object attribute existsisNotAttr($name, $object)- Check object attribute doesn't existisClass($expected, $actual)- assertInstanceOfisCount($expected, $countable)- assertCount
isLike($pattern, $value)- assertMatchesRegularExpressionisNotLike($pattern, $value)- assertDoesNotMatchRegularExpressionisContain($needle, $haystack)- String contains checkisNotContain($needle, $haystack)- String doesn't contain check
isFile($path)- assertFileExistsisNotFile($path)- File doesn't existisDir($path)- Directory existsisNotDir($path)- Directory doesn't existisFileEq($expected, $actual)- assertFileEqualsisFileContains($expected, $filepath)- File contains stringisFileNotContains($expected, $filepath)- File doesn't contain string
isEmail($email)- Valid email checkisNotEmail($email)- Invalid email checkisCurrentDate($date, $timeDiff)- Date is close to current timeisSameDate($expected, $actual, $format)- Date comparisonisAmount($expected, $actual, $allowableDiff)- Amount comparison with toleranceisDiffBetweenDates($date1, $date2, $expectedDiff)- Time difference check
skip($message)- markTestSkippedfail($message)- fail testincomplete($message)- markTestIncompletesuccess($message)- Mark test as successful
isWin()- Running on WindowsisTeamCity()- Running under TeamCityisTravis()- Running under Travis CIisPhpStorm()- Running in PhpStorm
- PHP 8.2 or higher
- PHPUnit ^9.6.29
- ext-filter, ext-mbstring
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
MIT