PHPUnit | Test framework for php

PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
It is used for the purpose of unit testing for PHP code. PHPUnit was created by Sebastian Bergmann and its development is hosted on GitHub.

Purpose: Its purpose is to verify functionality and impact of newly written code by developers. By running the unit test cases a developer can easily find mistakes in their business logic or functionality of the previously written code. PHPUnit uses assertions to verify that the behavior of the specific component.

The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a result, unit tests find problems early in the development cycle. A developer can use different types of assertions for different types of expected results and hence can verify them easily. For assertion, PHPUnit provides a different function to assert actual output versus expected output.

  • For installing DS in php follow the steps mentioned here.
  • For using phpunit follow the steps from here.

Note : Although the code looks like of php but cann’t be compiled on php compiler. Use phpunit filename.php command to run the code at local machine.





<? php
// Use PHPunit Framework
use PHPUnit\Framework\TestCase;
// Extend the test case class of phpunit
class StackTest extends TestCase
    public function testPushAndPop()
// create an empty vector
$vector = new \Ds\Vector();
// assert the size of vector
$this->assertSame(0, count($vector));
$vector->insert(0, "first");
// assert the value of vector 
$this->assertSame('first', $vector[count($vector)-1]);
// assert the size of vector
$this->assertSame(1, count($vector));
// pop and assert the popped element
$this->assertSame('first', $vector->pop());
$this->assertSame(0, count($vector));



PHPUnit 6.5.5 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 827 ms, Memory: 4.00MB

OK (1 test, 5 assertions)
My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at to report any issue with the above content.