gpt4 book ai didi

php - 单元测试套件需要多少内存?

转载 作者:行者123 更新时间:2023-12-05 02:24:54 25 4
gpt4 key购买 nike

我有大约 700 个测试和大约 1500 个断言,测试在 RAM 驱动器上的 sqlite 上运行。我使用 phpunit/dir/name 运行它,没有任何额外的套件设置。

测试写得很好(我希望如此),应用程序和每个测试运行速度都很快,而且每个测试的内存使用量都不大(从不超过 10M)。

测试分开运行后一切正常。但是当我一起运行所有测试时,PHPUnit 报告内存使用量约为 450MB。

  • 500M 可以吗?我是否应该将 memory_limit 更新为 700MB 以确保安全?
  • 如何避免这样的内存使用?

我知道答案取决于应用程序,但我想知道哪个内存级别可以测试中等级别的应用程序范围。

更新:

我们在 tearDown() 中使用事务和回滚数据库更改

最佳答案

PHPUnit 在运行任何测试之前为每个测试方法和每个数据提供者的每个参数数组实例化一个测试用例。启动时,任何异常和断言失败都有一个对抛出它的实例的引用。正如 MasterCassim 所说,这使得取消设置您在 tearDown() 中分配给测试的任何实例变量变得非常重要。

但这主要意味着随着测试数量的增加,您必须接受不断增长的内存需求。如果您也生成代码覆盖率,这会大大增加。我们的主要网站项目以 2GB 的限制运行。

您可以在单独的进程中运行测试,但您将付出高昂的运行时间代价。

注意: Issue #10应该解决这个问题,但我不知道它在 3.6 中的状态如何。

关于php - 单元测试套件需要多少内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7711395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com