PHPSpec:类规范的顺序

时间:2015-07-12 11:11:15

标签: php phpspec

我正在开发一个HTTP服务器,并且我第一次决定使用PHPSpec编写 tests 规范,这很棒。

我有两个规范类:spec\AppSpecspec\RequestParserSpec

由于App是服务器组件与外部世界之间的接口,因此它使用RequestParser来解析请求。因此,为了获得AppSpec传递的规范,必须先运行RequestParserSpec以检查请求解析是否正常工作。

问题是:$ phpspec runAppSpec之前运行,然后在RequestParserSpec之前运行。

是否可以反转该顺序?目前,如果RequestParser出现问题,AppSpec将失败,而不会告诉根本问题是什么。

是的,我知道我可以phpspec run tests/spec/RequestParserSpec.php,然后是其他人,但是如果可以自动执行一次测试就更实际。

suites:
    myapp_suite:
        namespace: MyApp
        psr4_prefix: MyApp
        spec_path: tests

1 个答案:

答案 0 :(得分:1)

你可以替换

$parser = new RequestParser(clone $this->baseRequest);

用这个:

$parser = $this->requestParserFactory->createFromBaseRequest(clone $this->baseRequest);

然后注入一个RequestParserFactory,然后你可以在规范中模拟它。