我想写注册模块。我假设我需要创建实体模型User,其中包括属性id,email,password和active。
在这种情况下,我应该为这个类中的每个get和set方法编写测试,还是应该编写一个方法setUp,它将创建新对象User然后设置参数?
我如何编写测试,检查我的用户对象是否一切正常,另一个检查是否例如。电子邮件无效时,测试会抛出异常吗?
我知道单元测试是如何工作的,但我仍然有问题决定测试应该是单位还是功能
答案 0 :(得分:3)
单元测试是您为类中的方法编写的代码。它允许根据输入参数测试特定方法的工作方式。即你可以在你的实体中测试setEmail($email)
方法,特别是如果你验证它等等。PHPUnit是很好的工具。单元测试意味着您了解了您正在测试的代码的所有内容。
功能测试是用于产品功能测试的测试。即您可以测试单个功能,如用户密码检索或注册。它回答问题are we building software properly?
。因此,它验证了您的流程。与单元测试相比,您实际上不必知道方法是如何工作的。有很多工具 - Symfony有one,Behat是非常强大的工具,允许使用自然语言(实际上是Gerkins)来指定测试。
验收测试可确保您的产品满足客户要求。它回答了问题did we build the right thing?
。有很多方面包括可扩展性,安全性,会议标准等,可以在验收测试中进行测试。