Передающие параметры к PHPUnit

Я начинаю писать тесты PHPUnit, и я хотел бы, чтобы тесты были выполнены от машин разработчиков, а также с наших серверов. Машины разработчиков настраиваются по-другому, чем серверы и даже друг по-другому по сравнению с другом.

Для выполнения в этих различных местах, это, кажется, человек, который запускает тест, оказывается перед необходимостью указывать, куда это выполняется. Тест может тогда искать надлежащую конфигурацию машины, на которой это работает.

Я воображаю что-то как:

phpunit.bat-X johns_laptop unittest.php

или на альфа-сервере:

phpunit-X альфа unittest.php

В тесте я был бы в состоянии получить значение, если 'X' (или независимо от того, что это) параметр и знает, например, что путь к корню приложения для этой машины.

Не похоже, что командная строка допускает это - или я пропустил что-то?

43
задан dl__ 19 January 2010 в 16:19
поделиться

2 ответа

Одним из способов осмотреть $ ARGV и $ ARGC. Что-то вроде:

<?php

require_once 'PHPUnit/Framework/TestCase.php';

class EnvironmentTest extends PHPUnit_Framework_TestCase {
    public function testHasParam() {
            global $argv, $argc;
            $this->assertGreaterThan(2, $argc, 'No environment name passed');
            $environment = $argv[2];
    }
}

Тогда вы можете назвать ваш phpunittest, как это:

phpunit EnvironmentTest.php my-computer
33
ответ дан 26 November 2019 в 22:43
поделиться

Если вы хотите запустить тесты на удаленном компьютере, используйте SSH, а затем запустить его. На машине локали вам нужно только CD к вашему корню, а затем запустить phpunit.

user@local:/path/to/your/project$ phpunit
user@remote:/var/www/project$ phpunit

Редактировать : Вы говорите о конфигурации зависимой машины. (Что за конф-кстати?) Мое решение заключается в том, чтобы поставить эти конфигурации под то же самое, не версимо-контролируемое место, затем прочитайте / анализировать его временем выполнения, в необходимых установках METDS.

0
ответ дан 26 November 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: