ngyuki / phpower
Implement assertion like Power Assert in PHP.
Installs: 3 094
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 3
Forks: 3
Open Issues: 0
Requires
- php: ^7.4|^8.0|^8.1
- ext-json: *
- microsoft/tolerant-php-parser: ^0.1
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.3.7|^6.0
This package is auto-updated.
Last update: 2024-12-29 06:40:24 UTC
README
Implement assertion like Power Assert in PHP.
Install
composer require --dev phpunit/phpunit ngyuki/phpower:dev-master
Example
Write test code with assert
.
<?php namespace Test; use PHPUnit\Framework\TestCase; class SomeTest extends TestCase { public function test_01() { $a = 1; $b = 2; $c = 3; assert(($a + ($b + 3)) === ($c * 3)); } public function test_02() { $s = "x\ny\nz"; assert("a\nb\nc" === strrev($s)); } public function test_03() { $a = [1,2,3]; $b = [7,8,9]; assert($a == array_reverse($b)); } public function test_ok() { $a = [1,2,3]; $b = [3,2,1]; assert($a == array_reverse($b)); } public function test_04() { $a = [ 'name' => 'alice', 'uid' => 1000, 'gid' => 1000, ]; assert($a == [ 'name' => 'bob', 'uid' => 2000, 'gid' => 2000, ]); } }
Run the test.
vendor/bin/phpunit tests/example/
The following result is displayed.
PHPUnit 8.5.2 by Sebastian Bergmann and contributors.
Runtime: PHP 7.4.2
Configuration: /path/to/phpower/phpunit.xml.dist
FFF.F 5 / 5 (100%)
Time: 261 ms, Memory: 4.00 MB
There were 4 failures:
1) Test\SomeTest::test_01
Assertion failed ($a + ($b + 3)) === ($c * 3) -> false
# $a -> 1
# $b -> 2
# $b + 3 -> 5
# $a + ($b + 3) -> 6
# $c -> 3
# $c * 3 -> 9
/path/to/phpower/tests/example/SomeTest.php:13
2) Test\SomeTest::test_02
Assertion failed "a\nb\nc" === strrev($s) -> false
# $s -> "x\ny\nz"
# strrev($s) -> "z\ny\nx"
/path/to/phpower/tests/example/SomeTest.php:19
3) Test\SomeTest::test_03
Assertion failed $a == array_reverse($b) -> false
# $a
# -> [
# 1,
# 2,
# 3,
# ]
#
# $b
# -> [
# 7,
# 8,
# 9,
# ]
#
# array_reverse($b)
# -> [
# 9,
# 8,
# 7,
# ]
#
/path/to/phpower/tests/example/SomeTest.php:26
4) Test\SomeTest::test_04
Assertion failed $a == ['name'=>'bob','uid'=>2000,'gid'=>2000,] -> false
# $a
# -> [
# "name" => "alice",
# "uid" => 1000,
# "gid" => 1000,
# ]
#
/path/to/phpower/tests/example/SomeTest.php:46
FAILURES!
Tests: 5, Assertions: 5, Failures: 4.
Limitations
Only for phpunit installed locally in project with composer (phpunit.phar is not supported).