PHPT избегает конструктора и целевых функций напрямую

У меня есть следующий класс:

class Validator {
public function __construct($file){
$errors = $this->errors($file_array[CSV]['errors']);
}
public function errors_func($errors){
if($errors != 0){
throw new Exception('Error Uploading');
}
}
}

Я пытаюсь нацелиться на errors_func() работать напрямую через мой тестовый скрипт без необходимости сначала вызывать конструктор. Тестовый скрипт PHPT можно увидеть ниже:

--TEST--
check_mime() function - A basic test to see if check mime works. :)
--FILE--

<?php
require_once('my/path');
$valid = new Validation;
$re = $valid->errors_func('1);
var_dump($re);
?>
--EXPECT--
bool(true)

Как и следовало ожидать, хотя тестовый скрипт завершается неудачно, так как ожидается, что параметр будет создан при создании объекта класса. Есть ли способ создать объект класса Validation, не передавая аргумент классу __constructer?

0

Решение

Я нашел решение этой проблемы с помощью ReflectionClass. Новый тестовый скрипт будет выглядеть так:

--TEST--
check_mime() function - A basic test to see if check mime works. :)
--FILE--

<?php
require_once('my/path');
$valid = new ReflectionClass('Validator');
$valid_direct = $valid->newInstanceWithoutConstructor();
$re = $valid_direct->errors_func('1);
var_dump($re);
?>
--EXPECT--
bool(true)
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]