Pek*_*ica 7 php phpunit unit-testing
我是单元测试的新手,我只是进入构建测试套件的例行程序.我有一个相当大的项目,我想从一开始就构建测试.
我正在试图找出构建测试套件的一般策略和模式.当你看一堂课时,由于班级的性质,很明显会有很多考试.对于具有基本CRUD操作的"用户帐户"类,与数据库表相关,我们将要测试 - 好吧,CRUD.
至于如何破解事物,大多数CRUD类都有"失败"测试,例如:
等等等等.
对于与文件操作有关的单元测试,"破坏事物"列表可以是
我非常确定类似的模式 - 适用于当前正在进行的单元测试之外 - 可以在大多数正在测试的单元中找到.
现在我的问题是:
我是否正确看到这种"破碎模式"?或者我对单元测试有一些完全错误,如果我做对了,这根本不是问题?单元测试是一个过程,找到尽可能多的方法来打破单位的正确方法吗?
如果我是对的:这些模式是否有现有的定义,清单,备忘单?
是否存在任何条款(主要在PHPUnit中,因为我正在使用的框架)来自动化这些模式?
是否有任何帮助 - 以检查清单或软件的形式 - 以帮助编写完整的测试?
你基本上是对的。寻找可能破坏代码的方法是单元测试的关键部分和技能。然而,TDD 中应用的单元测试的工作方式略有不同。在 TDD 中,您首先为一项新功能编写测试,然后创建代码以使该测试通过。因此,尽管最终结果相似,但这里的侧重点不同。
在 TDD 中,人们不断“变换角色”——一点点测试,一点点编码。因此,在这种方法中,测试不是一个可自动化的部分,但几乎可以说它是创意过程的关键。在编写测试时,您还在设计单元的界面,并从(未来)客户的角度思考 - 他们可以期望什么,他们应该提供什么?然后你换个角色,走进单位来满足这些期望。
所以我认为这不能通过简单地检查列表上的项目来替代。当然,一旦您没有办法测试实际单元,检查这样的列表总是没有坏处的。然而,此类表本质上只能包含概括,这些概括可能适用于也可能不适用于要测试的特定项目和特定类别。但无论如何,您显然拥有为您的特定单元找到良好测试用例的经验和心态:-)
归档时间: |
|
查看次数: |
171 次 |
最近记录: |