php дляюниттестов,чтобыиспользоватьприватныесвойстваиметоды

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php дляюниттестов,чтобыиспользоватьприватныесвойстваиметоды相关的知识,希望对你有一定的参考价值。

<?php

namespace tests\unit;

Trait AccessProtected
{
    /**
     * Call protected/private method of a class.
     *
     * @param object $object Instantiated object that we will run method on.
     * @param string $methodName Method name to call
     * @param array $parameters Array of parameters to pass into method.
     *
     * @return mixed Method return.
     */
    public function invokeMethod($object, $methodName, array $parameters = array())
    {
        $reflection = new \ReflectionClass(get_class($object));
        $method = $reflection->getMethod($methodName);
        $method->setAccessible(true);

        return $method->invokeArgs($object, $parameters);
    }

    /**
     * Get protected/private property value
     *
     * @param object|string $object
     * @param string $propertyName
     * @return mixed
     */
    public static function getProtectedProperty($object, $propertyName)
    {
        $reflection = new \ReflectionClass($object);
        $property = $reflection->getProperty($propertyName);
        $property->setAccessible(true);

        return $property->getValue($object);
    }
}

以上是关于php дляюниттестов,чтобыиспользоватьприватныесвойстваиметоды的主要内容,如果未能解决你的问题,请参考以下文章

php 更多信息(обычнаяиакционная)сыазделителямиивалютой

ini Позволяетлюбомупользователюлокальнойсистемыподключитьсяклюбойбазеданных,используялюбоеимябазыдан

php Методыдляработыскоэффициентамимассивыпишемсключамикаквгетлисте

php Имитируетподключениемодулявыгрузкитоваровиз1СУТнасайтБитриксУС

swift Вконечномсчетеярешил,чтоэтопростаярекурсия。 Надругихязыкахрекурсиюяреализовывал。 Пробуюнасвифт

css символыCRиLFкоторыепредставляютсобойразрывстроки - этообычныеunicode-символы,которыемогутбытьвст