-
Notifications
You must be signed in to change notification settings - Fork 0
TestPoint_Manager
Se# edited this page Nov 18, 2013
·
8 revisions
В ТР предусмотрен "компилятор", предназначенный для того, чтобы собирать такой ТР, какой нужен именно вам.
Используется так:
require_once "path/to/Manager.php";
TestPoint_Manager::compile("Имя_Будущего_Класса", "Путь/до/конфига/onload.json");
В конфиге должна быть секция traits, содержащая имена трейтов, которые должны быть включены в класс.
Если трейт использует ещё какие-то трейты, то их также можно указать - в этом случае секция трейта представляет собой набор из двух секций: name - здесь указывается имя родительского трейта, traits - здесь, аналогично базовой секции. Поддерживается вложенность равная максимальной вложенности json'a.
Например:
"traits":
[
"TestPoint",
{
"name":"Config",
"traits":
[
"Log",
"Mode",
"PHPUnit",
"Store",
"System",
"Talk",
"Test"
]
},
"File",
{
"name": "Log_Db_Mysql",
"class": ["Mysql"]
},
"Test",
{
"name": "PHPUnit",
"traits" :
[
"Analyse"
]
},
{
"name": "Talk",
"traits": ["Console"]
}
]
А также секция путей:
"path" :
{
"trait": "базовый/путь/до/трейтов",
"class": "базовый/путь/до/классов"
}
Имя_Будущего_Класса.php :
<?php
require_once '/modules/TestPoint.php';
require_once '/modules/Config/Log.php';
require_once '/modules/Config/Mode.php';
require_once '/modules/Config/PHPUnit.php';
require_once '/modules/Config/Store.php';
require_once '/modules/Config/System.php';
require_once '/modules/Config/Talk.php';
require_once '/modules/Config/Test.php';
require_once '/modules/Config.php';
require_once '/modules/File.php';
require_once '/modules/lib/Mysql.php';
require_once '/modules/Log_Db_Mysql.php';
require_once '/modules/Test.php';
require_once '/modules/PHPUnit/Analyse.php';
require_once '/modules/PHPUnit.php';
require_once '/modules/Talk/Console.php';
require_once '/modules/Talk.php';
class Имя_Будущего_Класса
{
use TestPoint,
Config_Log,
Config_Mode,
Config_PHPUnit,
Config_Store,
Config_System,
Config_Talk,
Config_Test,
Config,
File,
Log_Db_Mysql,
Test,
PHPUnit_Analyse,
PHPUnit,
Talk_Console,
Talk;
}
Далее, используем как в инструкции к TestPoint: https://github.com/Sett/testpoint/blob/master/README.md