Тестирование функций PHPUnit пример. (указатели на функцию php)

Тестировать будем всё-таки в виде , классов, но при этом именно функции, лежащие в подключаемом файле (чтобы не копировать их в файл теста).

В частности, мы протестируем функции get_tag_list() и meta_arr_fill() которые находятся в некотором файле parser_lib.php, расположенном по адресу (пример для локальной машины) CORE_P+parser_lib.php, где CORE_P -это константа, определённая опять же некотором файле.

Итак , вот пример (читайте комментарии - разберётесь) =

<?php // тесты ключевых функций раздела ядра
require_once 'PHPUnit/Autoload.php';
include_once CORE_P."parser_lib.php"; // подключаем определения функции разбора значений файлов метаинформации из раздела ядра.
include_once CORE_P."common_lib.php"; // подключаем определения функций общего назначения ядра.
 
class CoreModuleTest extends PHPUnit_Framework_TestCase {

	 public function testArrayFill()
    {
        $test = new CoreModule(); // создаём класс, который будем тестировать
		
		//$tagarr  = array("title" => null, "path2" => null,"level" => 2);
	    
		$tagarr  = array( "title" => null,"path2" => null,"level" => 2);
		$str = tfile_to_str(T_FILE_SET_P."mag/2020/November/meta.info"); // cчитываем все данные из этого файла в одну строку (используем специальную тестовую иерархию файлов)
        $this->assertEquals(array("title" => "Нелинейные отражения", "path2" => null, "level" => 2), $test->ArrayFill($tagarr, $str));
    }
	public function testGetTags() // запускает функцию meta_array_fill, которая заполняет массив на основае данных из строки.
	{
	   echo('Тестируем функция = <b>get_tag_list($level, $ucount , $scount) </b> <br>');
	  $test = new CoreModule(); // создаём класс, который будем тестировать
	   $this->assertEquals(array("title"=>null , "path"=>null , "level" =>null ), $test->GetTags(2,1,2));
	}
}
 
class CoreModule { // класс содержащий функции модуля ядра
 
	public function ArrayFill($tagarr,$str) // запускает функцию meta_array_fill, которая заполняет массив на основае данных из строки.
	{
	  $var="meta_arr_fill";
	  return $var($tagarr,$str); // вызываем функцию meta_arr_fill() из parser_lib.php
	}
	public function GetTags($level, $ucount , $scount) // запускает функцию meta_array_fill, которая заполняет массив на основае данных из строки.
	{
	  $var="get_tag_list";
	  return $var($level, $ucount , $scount); // вызываем функцию из get_tag_list parser_lib.php
	}
}


?>

ВНИМИНИЕ =
соблюдайте стандарты именования классов-тестеров и их методов (см. пример выше )

иначе увидите сообщение типа =

1) Warning
No tests found in class "CommonModuleTest".

Ключевые слова: