php – Symfony2中数据库测试的实践?如何分离?
发布时间:2020-12-13 13:58:42 所属栏目:PHP教程 来源:网络整理
导读:目前测试与Symfony2数据库交互的最佳做法是什么?我有一个简单的CRUD设置,我想确保我的测试是可以的.现在,我有4个测试,每个测试,确保创建,更新,删除和列表操作正在发生. 我有两个魔术方法__construct和__destruct,在我的测试用例上.在他们之中,我用“php app
目前测试与Symfony2数据库交互的最佳做法是什么?我有一个简单的CRUD设置,我想确保我的测试是可以的.现在,我有4个测试,每个测试,确保创建,更新,删除和列表操作正在发生.
我有两个魔术方法__construct和__destruct,在我的测试用例上.在他们之中,我用“php app / console …”来调用exec(),以便创建数据库,创建模式并稍后删除数据库.但是,这是一个很慢的地狱,它发生在我有一个以上的测试用例. 在数据库测试和隔离这样的测试时,我应该如何进行?
数据库测试总是很慢,因为您需要在每个测试之前/之后创建/删除模式.为避免不必要的操作,您可以:
在’setUpBeforeClass’方法中创建模式; 对于您的测试用例,该模式将仅被创建/删除一次. 您还可以设置原则来使用一个内存sqlite数据库(这是非常快的): doctrine: dbal: driver: pdo_sqlite path: :memory: memory: true 无论如何,’_construct’和’_destruct’不应该在phpunit测试用例中使用,而应该使用’setUp’和’tearDown’. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |