icon Посты по тегу phpunit

phpunit тестирование приватных методов, все типы assert`ов в phpunit

phpunit

Рассмотрим процесс тестирования приватного метода класса с передачей в него параметров. Пусть наш тестируемый класс выглядит так:

Class MyClass()
{
    private myPrivateMethod($param1, $param2)
    {
        return $param1 * $param2;
    }
}

Тогда тест приватного метода будет такой:

class MyClassTest extends PHPUnit_Extensions_Database_TestCase 
{
    public function testMyPrivateMethod()
    {
        $class = new ReflectionClass('MyClass');
        $method = $class->getMethod('myPrivateMethod');
        $method->setAccessible(true);
        $obj = new MyClass();

        $result = $method->invoke($obj, 2, 10);
        $this->assertEquals(20, $result);

        $result = $method->invoke($obj, 2, 0);
        $this->assertEquals(0, $result);
    }
}

 

НОВЫЕ ПОЛЬЗОВАТЕЛИ