Я реализую некоторые интеграционные тесты, используя модульное тестирование. Я использую setUp()
способ установить файл конфигурации. Мой конфигурационный файл состоит из нескольких Api keys
API secret
и т.д. Это работает хорошо.
public function setUp()
{
$this->_pipeline = new Pipline($this);
$this->_pipeline->setConfig(\Api\Models\ConfigModel::createFromFile(__DIR__ . '/test/integration/assets/config'));
$users = $this->_pipeline->users->listUsers();
$this->_userId = $users->result->data[0]->user_id;
parent::setUp();
}
Этот метод хорошо работает таким образом.
проблема
Но я хочу передать конфигурационный файл из команды. В настоящее время я использую эту команду
php ./vendor/phpunit/phpunit/phpunit -c ./test/integration/phpunit.xml
Есть ли способ, которым я могу передать это из команды что-то вроде этого
php ./vendor/phpunit/phpunit/phpunit -c ./test/integration/phpunit.xml
-c2 / тест / интеграция / assets / config
Заранее спасибо.
Вы можете просто передать имя в качестве аргумента php:
php ./vendor/phpunit/phpunit/phpunit -c ./test/integration/phpunit.xml -- /test/integration/assets/config
Вы можете получить доступ к аргументам через $argc
а также $argv
; $argv[0]
это имя скрипта, поэтому ваше имя файла конфигурации будет в $argv[1]
,
например
E:\>php -r "echo \"$argc\n\"; print_r($argv);" -- "hello world!"2
Array
(
[0] => -
[1] => hello world!
)
Других решений пока нет …