Php单元测试从命令传递配置文件
我正在使用单元测试实现一些集成测试。我正在使用Php单元测试从命令传递配置文件,php,unit-testing,integration-testing,Php,Unit Testing,Integration Testing,我正在使用单元测试实现一些集成测试。我正在使用setUp()方法设置配置文件。我的配置文件包含一些Api密钥Api密钥等。这工作正常 public function setUp() { $this->_pipeline = new Pipline($this); $this->_pipeline->setConfig(\Api\Models\ConfigModel::createFromFile(__DIR__ . '/test/integration/asse
setUp()
方法设置配置文件。我的配置文件包含一些Api密钥
Api密钥
等。这工作正常
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/测试/集成/资产/配置
提前感谢。您可以将名称作为参数传递给php:
php ./vendor/phpunit/phpunit/phpunit -c ./test/integration/phpunit.xml -- /test/integration/assets/config
您可以通过和访问参数$argv[0]
是脚本的名称,因此您的配置文件名将位于$argv[1]
中
e、 g
您可以从定义的env变量中获取它,也可以在phpunit.xml(
)中设置这些变量
E:\>php -r "echo \"$argc\n\"; print_r($argv);" -- "hello world!"
2
Array
(
[0] => -
[1] => hello world!
)