最近,我已经开始工作Email2SMS在我们的产品功能。当我加入了这个项目该组件通过了单元测试零代码覆盖。传统代码。

由于我开始它的工作,我是使用测试第一种方法。但代码质量是非常低的。这是非常难以拆分它和由单元测试的测试小块,所以决定写集成测试。

有是PHP脚本,它接受一些消息的信息,搜索用户在DB和节省一些信息,如果一切正常。

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

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

它是坏的或不呢?你将如何解决这个问题?

有帮助吗?

解决方案

不太好。

在较低的水平测试,通过具有emailtosms.php脚本作为简单的包装,处理命令行参数,然后关断传递给更可测试的类。根据最后一步,你可以写单元测试几乎每一个做,但最后的发送(也许嘲笑,实际上把它发送的最后一步,而只是将其存储到一个变量,然后检查你已经得到的东西有效那里)。

在最后的集成,运行满级的端至端,并检查其输出,看最终的日志 - 还是有点高的水平,这将是投入登录

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top