Codeception子文件夹

时间:2015-01-02 15:49:04

标签: php testing codeception

据我了解,开箱即用的Codeception会根据单位,功能或接受等类型将所有测试放在其中的一个文件夹中。对于大型项目,虽然很容易失控。我试图弄清楚如何建立这样的结构:

- functional
    - Module1
        - Applications
            - ApplicationType1Cept.php
            - ApplicationType2Cept.php
        - Accounts
            - AccountType1Cept.php
            - AccountType2Cept.php

当我这样做时:

codecept.phar generate:cept functional AccountType1Cept

它会将新文件放在功能文件夹的根目录中。我尝试过这样的事情:

codecept.phar generate:cept functional/Module1/Applications AccountType1Cept

但这不起作用。我怀疑它与套件有关,但不确定。

如何在更有条理的结构中获得生成(和执行)测试的代码?

3 个答案:

答案 0 :(得分:0)

我正在研究类似的东西,但在Windows上。 现在我使用Composer将Codeception安装为全局:

composer global require "codeception/codeception=2.0.*"
composer global require "codeception/specify=*"
composer global require "codeception/verify=*"

这允许我切换到像你这样的特定文件夹" / Module1 / Applications /"然后直接发出命令,例如:

a)设置测试目录:

codecept bootstrap

b)通过以下方式创建测试:

codecept generate:cept functional AccountType1Cept

如果您愿意,可以从主目录中进行,但是您首先要告诉Codeception这个名称,然后使用" -c"用于指示您要在后面的目录中执行命令的选项,然后是目标目录。在你的情况下(使用Linux),它将是:

codecept.phar generate:cept functional AccountType1Cept -c ~/Module1/Applications 

但对我来说打字太多,只需切换到目标文件夹并在那里发出所有命令就更容易了: - )

更多信息: http://codeception.com/docs/07-AdvancedUsage#Running-from-different-folders

答案 1 :(得分:0)

我有类似的需求。 你需要做的是这样的事情:

codecept.phar generate:cept functional "Application\ApplicationType1Cept"
codecept.phar generate:cept functional "Account\AccountType1Cept"

这会在您想要的文件夹中创建测试文件,并将它们命名为。

答案 2 :(得分:0)

我这样做时没有任何特定的套件配置(版本3.1.2)。例如:如果您创建这样的目录结构:

  • 测试
    • 单位
      • 服务
        • SomethingServiceTest.php

codecept.phar run unit将找到您的考试。