PHPSpec和两个PSR-4命名空间定义

时间:2019-03-05 13:26:59

标签: php tdd phpspec

如果在其他地方或这里甚至有人问过这个问题,我们会先道歉(搜索结果没有给我我想要的东西)。我想将核心文件配置为驻留在自己的名称空间中,例如,应用程序名称空间可以放置在某个地方。

下面是打算放置文件结构的方式。

app/Rentals
src/Core

有效地,考虑到目录结构,我可以在composer.json文件中具有以下psr-4自动加载项。

{
   ...,
     "psr-4": {
        "Rentals\\": "app/",
        "Selocrast\\": "src/"
    }
}

最后,我将向您展示我当前的phpspec.yaml文件及其当前包含的配置。

suites:
  selocrast_suite:
    namespace: Selocrat

  rawson_suite:
    namespace: Rentals
    src_path: "%paths.config%/app"

  extensions:
    LeanPHP\PhpSpec\CodeCoverage\CodeCoverageExtension: ~

在上面的配置文件中可能会看到,我做了一些调整以使至少一个名称空间可以工作(默认)。我正在努力的是拥有多个指向不同名称空间目录的套件。

  

生成了Rental \ Component \ Model \ Entity \ Simple类型,但是无法加载。您是否需要配置au     装载机?

我发现继续进行此设置很困难,这是PHPSpec在代码级别强制执行的吗?如果没有,那我该怎么办呢?

以下是我所在的版本:

$ bin/phpspec --version
phpspec 4.3.2

创建扩展来管理我的辅助名称空间是否重要?

1 个答案:

答案 0 :(得分:0)

我认为您应该按如下方式修改配置文件

suites:
  selocrast_suite:
    namespace: Selocrat
    psr4_prefix: Selocrat

  rawson_suite:
    namespace: Rentals
    psr4_prefix: Rentals
    src_path: "%paths.config%/app"

  [...]