Если у вас есть некоторые значения по умолчанию, такие как UserId, которые вам нужны в каждом тестовом примере вашего теста, я бы предложил установить их в методе setUp
вашего класса.
Просто пример для установки значений:
class MtTest extends PHPUnit_Framework_TestCase {
// As a property
private $testUser = 7;
// In the setUp
public function setUp() {
$this->testUser = 7;
$this->defaultName = "BOB";
$this->MtClass = new Mt();
}
public function testFoo() {
$this->assertTrue($this->MtClass->userExists($this->testUser));
}
}
Если у вас есть набор значений, которые необходимо ввести в один метод теста, используйте DataProviders, например, @SilverLight (+1).
Ответ на комментарий:
Если вам нужна какая-то настройка среды (для всего, что вы пытаетесь сделать, я просто покажу имя пользователя, так как не могу догадаться), вы можете установить их в своем PHPUnit Bootstrap
(или файл, который вы передаете --bootstrap):
bootstrap.php
<?php
define("PHPUnit_Username", "Fuuu");
// or
$phpunitConfig = new Array(
"username" => "fuu",
)
// or whatever suits you there. No reason for me to type a config object i guess
class MyPHPUnitConfig {
public function getUsername() { return "wtf"; }
}
и, возможно, у вас есть свой базовый тестовый класс
<?php
class MyBaseTest extends PHPUnit_Framework_TestCase {
public function setUp() {
parent::setUp();
$this->config = new MyPHPUnitConfig();
}
}
и продолжайте от этого. Или используйте setUpBeforeClass
, чтобы сделать это только один раз за тестовый класс.
Если это не отвечает на ваш вопрос, я просто не понимаю, к чему вы стремитесь. Это тестовый сценарий, у него нет сильных зависимостей, и он kinda shouldn't have any (Isolation)
, и я не думаю, что ваша проблема в том, как получить значение в вашей функции setUp? (Потому что это не проблема phpunit).
Дайте мне знать, помогло ли это