Объединение зависимостей с поставщиками данных

У меня есть один тестовый метод, который зависит от другого метода, который сам использует поставщик данных в PHPUnit :

/** 
 * @dataProvider getFields
 */
public function testCanDoSomeStuff($parm1, $parm2) {
  $result = my_func($parm1, $parm2);
  $this->assertNotNull($result);

  return $result;
}

/**
 * @depends testCanDoSomeStuff
 */
public function testCanDoSomeMoreStuff($result) {
  $this->assertNotNull($result);
}

. У меня также есть функция поставщика данных getFields(), нет необходимости показывать это здесь.

Первый тест, основанный на поставщике данных, проходит -$result. НЕ является нулевым.

Я ожидаю, что результат теста будет передан зависимому тесту в качестве параметра $result. Однако функция testCanDoSomeMoreStuffполучает параметр NULL, и тест завершается неудачно.

Обновление

Этот простой тестовый пример демонстрирует проблему:

class MyTest extends PHPUnit_Framework_TestCase {

    /**
     * @dataProvider myFunc
     */
    public function testCanDoSomeStuff($value) {
        $this->assertNotNull($value);
        return $value;
    }

    /**
     * @depends testCanDoSomeStuff
     */
    public function testCanDoSomeMoreStuff($value) {
        $this->assertNotNull($value);
    }

    /**
     * Data provider function
     */
    public function myFunc() {
      $values = array('22');
      return array($values);
    }
}

В качестве обходного пути на данный момент я сохранил результат в статическом свойстве между тестами.

11
задан j0k 26 August 2013 в 17:39
поделиться