加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

当phpunit与symfony 2.X一起运行时,PDO连接未关闭

发布时间:2020-12-13 13:25:18 所属栏目:PHP教程 来源:网络整理
导读:我们有大约180个单元测试实现webtestcase类,测试运行在控制器上. 但是,当我们运行单元测试时,它们会与db打开太多连接.由于过多的活动tcp连接测试在第120次测试后失败.测试运行时,所有连接都处于活动状态. 在tearDown函数中我们调用实体管理器的close函数,但
我们有大约180个单元测试实现webtestcase类,测试运行在控制器上.

但是,当我们运行单元测试时,它们会与db打开太多连接.由于过多的活动tcp连接测试在第120次测试后失败.测试运行时,所有连接都处于活动状态.

在tearDown函数中我们调用实体管理器的close函数,但没有任何东西,它没有任何影响.我认为有一些类保持连接对象引用.

因为在php手册中提到了关于pdo连接关闭时对象分配为null.我们也这样做,但没有变化.
P.S:我们的单元测试是功能测试.在控制器上工作并与db集成,没有模拟对象

我们的错误在哪里?我们如何解决这个问题?

这是我在config_test.yml中的连接参数

imports:
    - { resource: config_dev.yml }

framework:
    test: ~
    session:
        storage_id: session.storage.mock_file

web_profiler:
    toolbar: false
    intercept_redirects: false

doctrine:
    dbal:
        driver: pdo_mysql
        port: 3306
        host: localhost
        dbname: mydb
        user: myuser
        password: mypass
        charset: UTF8
你检查过phpunit.xml.dist文件了吗?

我想你应该看看这个;
http://www.slideshare.net/fabpot/unit-and-functional-testing-with-symfony2

请确保您的参数在下面相同

<phpunit
    backupGlobals               = "false"
    backupStaticAttributes      = "false"
    colors                      = "true"
    convertErrorsToExceptions   = "true"
    convertNoticesToExceptions  = "true"
    convertWarningsToExceptions = "true"
    processIsolation            = "true"
    stopOnFailure               = "false"
    syntaxCheck                 = "false" 
    bootstrap                   = "bootstrap.php.cache" >

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读