phpunit тестирование приватных методов, все типы assert`ов в 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); } }
12 лет назад
80 комментариев