来自命令

时间:2018-08-10 05:50:47

标签: php unit-testing integration-testing

我正在通过使用单元测试来实现一些集成测试。我正在使用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 / test / integration / assets / config

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以将名称作为参数传递给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!
)