PHPUnit测试真实示例
|
我已经创建了一个邮件包装器类。我知道有很多库可以发送电子邮件,但是我想学习TDD ...因此,我已经创建了一些测试,并且我有一些代码。现在,我可以在构造函数上设置电子邮件地址并对其进行验证...如果电子邮件地址错误,则会引发异常。电子邮件地址是唯一必填字段...我没有设置和获取,因为用户将在构造函数上设置所有电子邮件数据。
现在,我要编写发送测试。我不知道如何开始。如果我不想使用setter和getter,该如何测试值是否存在(主题,邮件正文,标头)?如何测试是否可以发送电子邮件?
现实世界中的TDD示例对我来说很难。我已经尝试学习它,阅读了很多东西,但是我无法测试真实的代码。
谢谢。
没有找到相关结果
已邀请:
3 个回复
辩谷变充
然后在您的“ 3”测试中,执行类似
请注意,以上假设您的send函数将返回
调用的结果。 通常,您将始终尝试使用Mock或Stub替代外部子系统,例如sendmail或数据库或文件系统,因此您可以专注于测试自己的代码,以隔离外部子系统。您无需测试
是否有效。 另请参见http://www.phpunit.de/manual/3.6/en/test-doubles.html
浅镁
函数是否真正起作用,因为我不了解电子邮件的幕后工作原理。因此,我将只写如何进行单元测试。 您可以让您的类构造函数接受一个可选参数,该函数完成实际发送电子邮件的实际工作。默认情况下,它将是“ 0”功能,但是在您的测试设置中,您将提供特殊功能,该功能实际上将检查是否存在正确的主题,正文和标题。 考试:
和正在测试的课程:
这是某种伪代码,因为我留下了一些要完成或实现的值。要点是,您应该为正在测试的班级的协作者提供双打考试。 在这种情况下,它只是一个函数(我已经使用了一些PHP 5.3)功能,但是它可能是要传递给被测类的对象实例。
课刊灭似