天道酬勤,学无止境

liipfunctionaltestbundle

获取命令测试期间发送的电子邮件内容(Get content of email sent during command tests)

问题 在我的测试中,我调用了一些发送电子邮件的命令。 我可以显示使用以下命令发送的电子邮件数量: $output->writeln( $spool->flushQueue( $this->getContainer()->get('swiftmailer.transport.real') ) ); Symfony2 文档解释了如何在 Web 测试期间使用探查器获取电子邮件内容(也在 Stack Overflow 上进行了解释),但我不知道在没有 Web 请求时如何做同样的事情。 我使用了这些链接中提供的代码: <?php namespace ACME\MyBundle\Tests\Command; use Liip\FunctionalTestBundle\Test\WebTestCase; class EmailTest extends WebTestCase { public function tesEmailCommand() { // load data fixtures // http://symfony.com/doc/current/cookbook/email/testing.html $client = static::createClient(); // Enable the profiler for the next request (it does

2021-09-23 15:09:11    分类:技术分享    symfony   email   testing   swiftmailer   liipfunctionaltestbundle

使用 LiipFunctionalTestBundle 和夹具进行独立功能测试?(Independent functional tests with LiipFunctionalTestBundle and fixtures?)

问题 我正在向 Symfony2 项目添加测试。 以前我在dev和test环境中使用相同的数据库,它使用的 MySQL 数据库已经填充了与生产服务器上相同的数据。 这些测试是相互依赖的,因为有些测试依赖于以前的测试。 例如,如果我有一个商店网站,我在购物车中添加了一个产品,然后从购物车中删除了该产品。 所以我需要使用表单插入数据,然后才能删除它。 现在我想使用独立的功能测试,因为这是推荐的方式(由 Symfony2 的开发人员之一)。 我已经正确配置了 LiipFunctionalTestBundle 以在test环境中使用 SQLite 数据库,并且我已经开始使用 DoctrineFixturesBundle 添加设备。 但我不知道每次功能测试需要加载多少数据。 我应该在测试开始时加载什么夹具? 当实体因为表之间的关系而依赖于其他实体时,如何处理CRUD操作? 假设我正在开发一家商店,我想要一些测试: 用户在其购物车中添加了一些产品用户从购物车中移除一件产品用户订购剩余产品 我应该为每一步创建一个不同的装置吗? 这意味着我的装置需要存在于许多不同的状态:空购物车、订购了一种产品的购物车等。这对我来说似乎是正确的,但非常耗时,所以我想知道我的想法是否有效。 回答1 对于每个测试用例,为了隔离和性能最好加载尽可能少的夹具(测试套件可能运行得非常慢)。 当fixture相互依赖时

2021-09-18 15:52:47    分类:技术分享    symfony   doctrine-orm   phpunit   functional-testing   liipfunctionaltestbundle

Symfony2 LiipFunctionalTestBundle overriding @validator service

I am trying to inject @validator into my service but LiipFunctionalTestBundle is overriding that service when it gets injected. admin.image_service: class: AdminBundle\Service\ImageService arguments: ["@validator", "@doctrine.orm.admin_entity_manager", "@image_storage_filesystem"] Which results in the error must be an instance of Symfony\Component\Validator\Validator\RecursiveValidator, instance of Liip\FunctionalTestBundle\Validator\DataCollectingValidator given running php bin/console debug:container results in liip_functional_test.validator: Liip\FunctionalTestBundle\Validator

2021-07-29 03:56:30    分类:问答    php   symfony   liipfunctionaltestbundle

Independent functional tests with LiipFunctionalTestBundle and fixtures?

I'm adding tests to a Symfony2 project. Previously I used the same database for dev and test environments, it used a MySQL database already populated with the same data than on the production server. The tests were working dependently because some tests depended on previous tests. For example if I had a shop website, I added a product in the cart then removed the product from the cart. So I needed to insert data by using a form, before being able to remove it. Now I want to work with independent functional tests, because that's the recommended way (by one of Symfony2's developers). I've

2021-06-11 04:10:04    分类:问答    symfony   doctrine-orm   phpunit   functional-testing   liipfunctionaltestbundle

使用 Symfony 测试数据库插入(Testing database insert using Symfony)

问题 今天是个好日子, 在过去的几天里,我一直在研究测试驱动开发,并决定我也需要学习它。 虽然我不知道如何精确地做到这一点。 我的项目依赖于 Symfony2.1.6 框架和 Doctrine,所以我有一些需要填充的数据库表。 书 (1,n) - (0,n) 流派 现在,如果我想插入流派记录,我首先需要编写一个测试以确保所有内容都按原样插入(或者我错了吗?) 现在的问题是我不知道如何访问我的数据库,因为它是由框架管理的。 我唯一能找到的是 LiipFunctionalTestBundle https://github.com/liip/LiipFunctionalTestBundle,它在我每次运行测试时都会创建和恢复一个临时数据库。 我已经按照说明设置了一切。 编辑:我的 app/config/config_test.yml 现在看起来像这样: imports: - { resource: config_dev.yml } framework: test: ~ session: storage_id: session.storage.filesystem liip_functional_test: ~ web_profiler: toolbar: false intercept_redirects: false swiftmailer: disable_delivery

2021-06-09 15:29:04    分类:技术分享    php   doctrine   symfony-2.1   functional-testing   liipfunctionaltestbundle

使用 Symfony 测试数据库插入(Testing database insert using Symfony)

问题 今天是个好日子, 在过去的几天里,我一直在研究测试驱动开发,并决定我也需要学习它。 虽然我不知道如何精确地做到这一点。 我的项目依赖于 Symfony2.1.6 框架和 Doctrine,所以我有一些需要填充的数据库表。 书 (1,n) - (0,n) 流派 现在,如果我想插入流派记录,我首先需要编写一个测试以确保所有内容都按原样插入(或者我错了吗?) 现在的问题是我不知道如何访问我的数据库,因为它是由框架管理的。 我唯一能找到的是 LiipFunctionalTestBundle https://github.com/liip/LiipFunctionalTestBundle,它在我每次运行测试时都会创建和恢复一个临时数据库。 我已经按照说明设置了一切。 编辑:我的 app/config/config_test.yml 现在看起来像这样: imports: - { resource: config_dev.yml } framework: test: ~ session: storage_id: session.storage.filesystem liip_functional_test: ~ web_profiler: toolbar: false intercept_redirects: false swiftmailer: disable_delivery

2021-06-09 15:27:32    分类:技术分享    php   doctrine   symfony-2.1   functional-testing   liipfunctionaltestbundle

Get content of email sent during command tests

During my tests I call some commands which send emails. I can display the number of emails sent with the following command: $output->writeln( $spool->flushQueue( $this->getContainer()->get('swiftmailer.transport.real') ) ); The Symfony2 documentation explains how to get email content by using the profiler during a Web test (also explained here on Stack Overflow), but I don't know how to do the same thing when there is no Web request. I used the code provided in these links: <?php namespace ACME\MyBundle\Tests\Command; use Liip\FunctionalTestBundle\Test\WebTestCase; class EmailTest extends

2021-06-05 18:31:26    分类:问答    symfony   email   testing   swiftmailer   liipfunctionaltestbundle

Testing database insert using Symfony

Good day everyone, I have been looking into Test Driven Development a lot in the past few days and decided that I need to learn it as well. Although I can not figure out how to do it precisely. My project depends on the Symfony2.1.6 framework and Doctrine so I have some Database-tables that needs filling. Book (1,n) - (0,n) Genre Now if I want to insert a Genre-record I first need to write a test to ensure everything is being inserted as it should (or am I wrong?) The problem now is that I dont know how to access my Database as it is managed by the framework. The only thing I could find was

2021-05-31 21:47:29    分类:问答    php   doctrine   symfony-2.1   functional-testing   liipfunctionaltestbundle