gpt4 book ai didi

PHP 系统测试 - 1600 行程序脚本

转载 作者:行者123 更新时间:2023-11-28 20:16:28 27 4
gpt4 key购买 nike

我的任务是对大约 1600 行长的 PHP 脚本进行系统测试,该脚本通过 cron 每分钟运行一次。该脚本是 100% 程序化的,以 30 多个 require_once() 调用开始,这些调用引入了整个代码库。这就是系统从一开始就设计的方式。

我被告知重构不是一种选择,因为目前没有适当的测试用例。

问题:
我在脚本中间遇到了一个"new"类构造函数。此类构造函数在不同的类中创建一个工厂。我不关心类构造函数或工厂。有没有一种方法可以绕过该功能而无需模拟、 stub 等?

问题:
-脚本开头的 require() 阻止我创建 stub ,因为我不能有两个同名的函数。 (实函数和 stub 函数)
-"new"位于脚本中间,因此我无法向创建的对象添加模拟。

最佳答案

并不真正理解您的整个问题,但阅读您问题的最后一部分,关于 stub 函数和类似物,也许您应该了解更多关于 如何 动态 php 的知识。

例如:

http://php.net/manual/en/function.rename-function.php

所以基本上你可以重命名你想要 stub 的函数,并创建一个具有相同名称的新函数,如果你愿意,从新函数中用它的新名称调用旧函数。

有很多用于操作类、函数等的东西,其中一些以扩展的形式出现,而且真的很老套(尤其是整个扩展 http://www.php.net/manual/en/book.runkit.php ),但出于测试目的,为什么不呢?

关于PHP 系统测试 - 1600 行程序脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5589022/

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