0

我正在寻找一种方法来表示 PHPSpec 中每个测试方法的以下内容,每个测试都需要一个像这样创建的类构造函数

$config = new Config( 'path_to_config' );
$client = new SOAPService( $config );
$debtor = new Debtor( $client );

然后我可以测试类似的东西

class DebtorSpec extends ObjectBehavior
{
function it_has_method_getDebtor()
{
$debtor->getDebtor( '123' )->shouldReturn( TRUE );
}
}

如何将这种类构造函数传递给 phpspec?

4

1 回答 1

0

您可以使用let()方法并调用beConstructedWith()它。在这里阅读。

班级

class Hello
{
    private $writer;

    public function __construct(Writer $write)
    {
        $this->write = $writer;
    }

    // You methods
}

规格

namespace spec;

use PhpSpec\ObjectBehavior;
use Markdown\Writer;

class HelloSpec extends ObjectBehavior
{
    function let(Writer $writer)
    {
        $this->beConstructedWith($writer);
    }

    // Write your method test
}
于 2015-05-10T20:21:23.323 回答