当前位置:  开发笔记 > 编程语言 > 正文

你用单元测试测试什么?

如何解决《你用单元测试测试什么?》经验,为你挑选了1个好方法。

TDD现在似乎在每个人的嘴唇上,我自己尝试了一些,但我认为我没有得到这个想法.我正在抓住如何编写单元测试,但我不明白我的单元测试应该测试什么.

    如果我有一个返回数据列表的操作方法,我应该验证什么?只是视图名称是正确的,还是我应该验证数据?

    如果我也应该测试数据,我不会两次编写相同的代码吗?如果我使用相同的方法来检索我要比较的数据,那么测试数据的用途是什么?

    我是否应该测试添加/编辑数据的方法?如何以正确的方式验证是否已添加/编辑/删除记录?

我知道这是一个很大的问题,但我没有因为在互联网上阅读文章而变得更聪明,因为他们似乎都关心如何测试,而不是关注什么.

作为一个例子 - 我有(或将要写)一个GuestbookController,其中包含查看,添加,编辑和删除帖子的方法.我需要测试什么?我该怎么做?



1> Steven A. Lo..:
单元测试(UT)!=测试驱动设计(TDD)

这种混乱似乎相当普遍.UT就是代码覆盖.TDD关注功能.他们不是一回事[对不起乔尔!]

使用UT,您可以编写任何您想要的代码,然后返回并测试每个函数(甚至是一些简单的函数).

使用TDD,您可以选择下一个功能并首先为该功能编写测试.仅编写该功能的测试,测试覆盖率无关紧要.您首先编写测试以强制制定接口决策.然后你编写代码来通过测试(记住'可能最有效的'最简单的事情').然后根据您学到的内容重构代码.然后你继续下一个功能(大概是在办理登机手续并重新运行所有单元测试后).

如果需要,使用TDD开发,然后返回并使用UT工具完成覆盖.如果您正在为开发人员创建类库或其他API,则测试覆盖率越高越好;-)

如果您只是编写应用程序来执行五个特定的事情,那么仅TDD就足够了.


我同意UT!= TDD,因为TDD是一种使用UT的方法.但是,我不知道TDD文献中的任何定义,这些定义支持您关于UT的所有关于覆盖的说法.请详细说明.
推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有