PHPUnit:在dataprovider中调用方法

时间:2014-05-28 09:24:22

标签: php phpunit

无论如何我可以在dataprovider方法中调用一个方法吗?我试过这样做但是从dataProvider传递给testAdd()方法的值不会传递。我该怎么做呢?

PS:我不想从setUp()或setUpBeforeClass()调用它,任何出路?

<?php
class DataTest extends PHPUnit_Framework_TestCase
{
    /**
     * @dataProvider additionProvider
     */
    public function testAdd($a, $b, $expected, $someValue)
    {
        echo $someValue;
        $this->assertEquals($expected, $a + $b);
    }

    public function additionProvider()
    {
        $someValue = $this->doSomething();

        return array(
          array(0, 0, 0, $someValue),
          array(0, 1, 1, $someValue),
          array(1, 0, 1, $someValue),
          array(1, 1, 3, $someValue)
        );
    }

    protected function doSomething(){

      return 5 * 6;

    }
}
?>

由于

0 个答案:

没有答案