Heim  >  Artikel  >  Backend-Entwicklung  >  Ein Anfängerleitfaden zum Testen von PHP-Code mit PHPUnit

Ein Anfängerleitfaden zum Testen von PHP-Code mit PHPUnit

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-09-28 06:09:02912Durchsuche

A Beginner’s Guide to Testing PHP Code with PHPUnit

How to Start Testing in PHP with PHPUnit with a step-by-step guide.

Step 1: Install PHPUnit

Before you start writing tests, you need to install PHPUnit in your project.

You can install it globally using Composer:

composer global require phpunit/phpunit

Or install it locally for a specific project:

composer require --dev phpunit/phpunit

Once installed, you can confirm the installation by running:

./vendor/bin/phpunit --version

Step 2: Create a Sample Class to Test

Let’s create a simple Calculator class that will add two numbers. This class will be the subject of our test.

// src/Calculator.php
class Calculator
{
    public function add($a, $b)
    {
        return $a + $b;
    }
}

Step 3: Create a PHPUnit Test Case

Next, create a test class to write tests for the Calculator class. By convention, PHPUnit test files should end with Test.php and be placed in a tests directory.

// tests/CalculatorTest.php

use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase
{
    public function testAddition()
    {
        // Arrange: Create a new Calculator instance
        $calculator = new Calculator();

        // Act: Perform the add operation
        $result = $calculator->add(2, 3);

        // Assert: Verify the result is 5
        $this->assertEquals(5, $result);
    }
}

Part-by-Part Breakdown

  1. Test Class:

    The test class CalculatorTest extends TestCase, which is the base class provided by PHPUnit. Every test class should inherit from this.

  2. Arrange:

    In the testAddition method, we instantiate the Calculator class. This step sets up everything needed for the test (commonly called the "arrange" phase).

  3. Act:

    We call the add() method from the Calculator class with values 2 and 3. This is the action or the behavior we're testing.

  4. Assert:

    Finally, we use the assertEquals() method to verify that the output of add(2, 3) is indeed 5. If the assertion is true, the test will pass; otherwise, it will fail.

Step 4: Running the Test

To run your tests, execute the following command in the terminal:

./vendor/bin/phpunit tests

If everything is set up correctly, you should see output similar to this:

PHPUnit 9.5.4 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 00:00.010, Memory: 4.00 MB

OK (1 test, 1 assertion)

Step 5: Expand the Test Case

Let’s add another method to test subtraction, and write a corresponding test case.

Update Calculator Class:

// src/Calculator.php
class Calculator
{
    public function add($a, $b)
    {
        return $a + $b;
    }

    public function subtract($a, $b)
    {
        return $a - $b;
    }
}

Update the Test Case:

// tests/CalculatorTest.php
use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase
{
    public function testAddition()
    {
        $calculator = new Calculator();
        $result = $calculator->add(2, 3);
        $this->assertEquals(5, $result);
    }

    public function testSubtraction()
    {
        $calculator = new Calculator();
        $result = $calculator->subtract(5, 3);
        $this->assertEquals(2, $result);
    }
}

Step 6: Running All Tests

Run the tests again to ensure both the add and subtract methods work:

./vendor/bin/phpunit tests

If both tests pass, you should see:

PHPUnit 9.5.4 by Sebastian Bergmann and contributors.

..                                                                  2 / 2 (100%)

Time: 00:00.010, Memory: 4.00 MB

OK (2 tests, 2 assertions)

Conclusion

Now you have a basic setup for testing in PHP using PHPUnit. Here's a quick recap of the process:

  1. Install PHPUnit using Composer.
  2. Create your PHP class that you want to test (e.g., Calculator).
  3. Write your test class extending TestCase with appropriate test methods.
  4. Run the tests and see the results in your terminal.

By expanding this approach to cover more complex scenarios, you'll ensure your PHP code works as expected.

Das obige ist der detaillierte Inhalt vonEin Anfängerleitfaden zum Testen von PHP-Code mit PHPUnit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn