gpt4 book ai didi

unit-testing - 用于命令行集成测试的 PHPUnit

转载 作者:行者123 更新时间:2023-12-04 07:08:27 25 4
gpt4 key购买 nike

最近,我开始研究我们产品中的 Email2SMS 功能。当我加入该项目时,该组件的单元测试代码覆盖率为零。遗留代码。

自从我开始研究它以来,我一直在使用测试优先的方法。但是代码质量非常低。很难拆分它并通过单元测试测试小块,所以我决定编写集成测试。

有 php 脚本,它接受一些消息信息,在数据库中搜索用户并在一切正常时保存一些信息。

$last_line = system('php emailtosms.php -file=unicode_message.txt ', $retval);

$this->assertStringExistsInLogFile('Email to SMS message was not sent');

是坏还是不坏?你会如何解决这个问题?

最佳答案

不太好。

通过将 emailtosms.php 脚本作为处理命令行参数的简单包装器,在较低级别进行测试,然后传递给更可测试的类。根据最后一步,您可以编写单元测试来执行除最后发送之外的几乎所有操作(可能模拟实际发送它的最后一步,并将其存储到一个变量中,然后检查您是否在那里得到了一些有效的东西)。

最后的集成,端到端地运行完整的类,并检查其输出,查看最终日志 - 或者更高级别的,将放入日志的内容。

关于unit-testing - 用于命令行集成测试的 PHPUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/748758/

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