2012-08-14 43 views
-1

我有一个非常简单的CRUD功能测试套件,用于捆绑包中的每个控制器。我有两个方法,setUpBeforeClass,其中我创建一个新的数据库,创建一个新的架构,然后用fixtures和setUpAfterClass填充架构,在那里我删除数据库。如何加速Symfony 2功能测试套件?

每个控制器测试大约需要1:30分钟。任何想法如何加快这一点?我无法使用SQLite,因为我使用的是不受其支持的复杂关系。

+0

我已经确定在我描述的瓶颈。它是数据库,模式和夹具加载。如果你没有阅读它,请不要做出愚蠢和破坏性的评论。 – vinnylinux 2012-08-14 22:46:23

回答

1

从我所看到的情况来看,您只需在捆绑包的Tests文件夹中有一堆YourEntityControllerTest.php文件,并为每个测试文件设置一对setUpBeforeClass/setUpAfterClass方法,然后设置并销毁数据库。对?

你可以显着地通过创建一个实际的测试套件,看到加快这:http://www.phpunit.de/manual/3.2/en/organizing-test-suites.html#organizing-test-suites.suite-level-setup

+1

如果你没有在测试中使用的探查,您可以通过编辑'config_test.yml'禁用它在您R测试environement: 框架 探查: 启用:假 – GiDo 2013-01-14 15:01:41

+0

更新的链接:https://开头的PHPUnit。德/手动/电流/ EN /组织,tests.html – OskarStark 2017-12-05 09:44:23