Я получаю следующее сообщение об ошибке в моем PHPUnit тестеЧастная функция ошибки с PHPUnit тестирования
Warning: Invalid callback Vc_Manager::__sleep, cannot access private method Vc_Manager::__sleep()
Это вызвано тем, что функция __sleep() является приватным и функция __contruct() для класса также частные.
Как я могу использовать эту функцию в своем тестировании phpunit, не открывая функцию?
Полный код:
require_once('../splitTestNew.php');
class SplitTestTest extends PHPUnit_Framework_TestCase
{
public function setUp(){
}
public function tearDown(){ }
/**
* @runInSeparateProcess
*/
public function testDefaultParameterValues()
{
$obj = new BSSplitTest();
$this->assertTrue($obj->params['A'] == 50);
$this->assertTrue($obj->params['B'] == 50);
$this->assertTrue($obj->params['SplitCookieA'] == 'ACounter');
$this->assertTrue($obj->params['SplitCookieB'] == 'BCounter');
$this->assertTrue($obj->params['TableA'] == 'counter_a');
$this->assertTrue($obj->params['TableB'] == 'counter_b');
}
При тестировании библиотек, совместно использующих код с другими модулями в моем приложении, я использую Reflection (https://secure.php.net/manual/en/book.reflection.php) для проверки внутренних переменных или функциональных процессов на убедитесь, что мой код библиотеки работает так, как я ожидаю. Затем мое тестирование приложений использует общедоступные методы для работы с библиотекой. –