Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony Codeception中的捆绑设置_Symfony_Codeception - Fatal编程技术网

Symfony Codeception中的捆绑设置

Symfony Codeception中的捆绑设置,symfony,codeception,Symfony,Codeception,我尝试为我的Symfony2项目设置codeception,该项目已经有4个工作包和它们的PHPUnit测试用例。现在我想添加codeception测试用例,特别是对于验收测试,但是当我“引导”codeception时,我发现所有生成的代码都在我的主结构中。因为我的应用程序已经被组织成捆绑包,所以我想为我的测试用例保留这个概念。特别是因为我的包中已经有了PHPUnit测试用例。官方的s2 codeception并没有真正涵盖这一点。因此,对我来说,出现了一些问题: 如何设置codeception

我尝试为我的Symfony2项目设置codeception,该项目已经有4个工作包和它们的PHPUnit测试用例。现在我想添加codeception测试用例,特别是对于验收测试,但是当我“引导”codeception时,我发现所有生成的代码都在我的主结构中。因为我的应用程序已经被组织成捆绑包,所以我想为我的测试用例保留这个概念。特别是因为我的包中已经有了PHPUnit测试用例。官方的s2 codeception并没有真正涵盖这一点。因此,对我来说,出现了一些问题:

  • 如何设置codeception,使其在我的包中工作
  • 如何用一个命令运行所有现有的PHPUnit测试用例和codeception测试用例

  • 我只是以类似的方式设置了它

    codeception有一个-c开关,可以执行您需要的操作,即:

    vendor/bin/codecept bootstrap src/Acme/ExampleBundle
    
    然后:

    vendor/bin/codecept run -c src/Acme/ExampleBundle
    

    我不知道你的第二个问题。至少对于单元测试来说,将它们转换为Codeception测试是很简单的,特别是因为我的测试都是从抽象类中继承的,所以可能需要10行更改,大部分是安装文件。

    @Tom这不起作用,因为Symfony2模块正在查找bootstrap.php.cache-file,它仍然在Symfony2应用程序的根文件夹中!我的解决方案是在捆绑包中创建一个指向应用程序/文件夹的链接!那就行了

    在{your root}/src/{your app}/{your bundle}中:

    ln -s ../../../app .
    

    您还可以将以下行添加到根
    codeception.yml
    文件中,而不必每次都指定
    -c
    标志:
    include:-src/Acme/ExampleBundle
    然后正常运行
    vendor/bin/codecept run
    。它将找到bundle的
    codeception.yml
    config,并在同一次运行中包含所有测试。