单元专题提供单元的最新资讯内容,帮你更好的了解单元。
TDD的一个方面,我从来没有完全理解. 假设有人要求你实现一个简单的Stack对象.如果您正确地完成了设计,您将会看到一个非常小巧干净的API.假设:push(),pop()和isEmpty().任何事情都超过了这个要求,并且允许用户太多的空间弄乱你的代码. 所以现在让我们假设你想对你的代码进行单元测试.如果所有的公共方法只是上面显示的三个方法,你该怎么做?这些方法将仅在您的测试中进行. 因此,您
看看像 this等的帖子,似乎TDD的正确方法是编写一个功能测试,只需要通过该功能,然后根据需要添加另一个测试和重构,直到通过,然后重复. 我的问题是:为什么要使用这种方法?我完全理解写测试的第一个想法,因为它有助于您的设计.但是为什么我不会为特定的函数创建所有测试,然后一次实现该函数,直到所有测试通过? 这个方法来自于你不需要它的极限编程负责人.如果你真的写一个单独的测试,然后使代码让它通过,然
自从前几天我开始对C#和VS2010中的单元测试和TDD感兴趣.我已经阅读了博客文章,观看YouTube教程,还有更多的内容,解释了为什么TDD和单元测试对您的代码非常好,以及如何做到这一点. 但是我发现的最大的问题是,我不知道要检查我的测试和什么不检查. 我明白我应该检查所有的逻辑操作,引用和依赖关系的问题,但是例如,我应该创建一个单元格测试,这个字符串格式被忽略为用户输入?还是只是浪费我的时间
//是的,弗吉尼亚州,有维基百科. 我在这里问的是你发现单元测试是在你自己的实践中. 了解引进单元测试的优缺点,障碍,单元测试过程中的缺陷,单元测试获得的价​​值等等,这些开发者在日常实践中已经观察到了这一点. 我们在做什么 我在具有Oracle后端的Web应用程序上工作. 该应用已经投入使用了8年,维护工作也在不断加强. 我的开发团队执行单元测试脚本(UTS),旨在通过给定代码包的单元测试来开发
我们试图在最近的一个项目中引入单元测试前端逻辑,并且测试的价值受到质疑. 我们没有检查测试的代码,所以它们的质量很差,开发人员复制了差的测试,创造了更差的测试,所以我们进行了大量的垃圾测试. 我仍然相信测试演示者(我们使用MVP)有价值,但是让人们在这个问题上比我原来想象的更困难. 我如何让人们认为前端测试是有价值的,有没有人有任何好的资源指出我,以支持我? 谢谢… 单元测试前端逻辑是非常困难的,
我知道强烈建议您与文件系统分开运行单元测试,因为如果您在测试过程中触摸文件系统,那么您还可以测试文件系统本身.好的,这是合理的. 我的问题是,如果我要测试文件保存到磁盘,我该怎么办?与数据库一样,我分开一个负责数据库访问的接口,然后为我的测试创建另一个实现?还是还有其他一些方法? 我对此的态度对我刚才读到的 Growing Object-Oriented Software Guided by Te
我是一个重要的倡导者,正确的测试驱动设计或行为驱动设计,我喜欢写作测试.然而,我将自己编码到一个角落,我需要在一个特定的测试用例中使用3-5个模拟单个类.无论从哪种方式开始,自上而下或自下而上我最终都需要一个设计,至少需要三个来自最高抽象层次的合作者. 有人可以就如何避免这个陷阱给出好的建议吗? 这是一个典型的情况.我设计一个从给定的文本值生成一个小工具的小部件.它总是开始很简单,直到我进入细节.
我尽可能多地使用TDD.当我这样做的时候,我会把外界所有的通讯与包装类进行通信.几分钟前,我为静态类Directory创建了一个包装器,所以我可以测试我的其他代码,而不需要与实际的文件系统进行交谈. 但是,单元测试包装器本身呢?由于我使用TDD,所以我不知道我没有为它编写测试.另一方面,它是一个包装,没有别的,我真的需要吗? 我倾向于做同样的事情,而不用担心单元测试包装类,只要我满意自己,它们包含
我对TDD很新我看到一些文件关于正面测试,负面测试,边界测试等.有谁能告诉我一个积极的测试和否定测试之间的区别?有没有关于不同类型测试的参考? (我不在找书) 积极测试 – 通过给出有效的测试系统 数据. 负面测试 – 通过给出无效测试系统 数据. 例如,应用程序包含一个文本框,并且根据 用户要求文本框应该只接受 字符串.只提供字符串作为输入数据 文本框&检查其工作是否正常 意味着它是积极的测试.
我们知道,TDD意味着“先写测试,然后写代码”.而对于单元测试,这是很好的,因为你在“单位”内受到限制. 然而,当谈到UI时,预先编写功能测试对于我来说是不太有意义的.这是因为功能测试必须验证一个(可能很长的)功能要求.这可能通常跨越多个屏幕(页面),诸如“登录”,“最近插入记录”等先决条件. According to Wikipedia: Test-driven development is d
似乎单位测试已经成为这些日子的愤怒,我知道你们中许多人会想:“那么为什么不只是用框架Y来使用X语言呢?”但是,我提出这个想法更多地是一个概念的证明,或者在我以前的计算机编程的怀旧纪念. 我正在使用NASM在x86上运行BSD,并且已经使用shell脚本来预测(1)进行单元测试,但是我想事先知道: 哪些单元测试框架可用于以x86程序集编写的应用程序? 如果您的汇编程序具有或可以被赋予“C”接口,则可
当我编写代码时,我只需要我需要的功能. 这种方法也适用于写测试吗? 我应该提前为每个使用情况写一个测试,我可以想到只是为了安全起见,还是应该只在我遇到用例时写一个用例的测试? 我认为当你编写一个方法时,你应该测试预期的和潜在的错误路径.这并不意味着您应该扩展您的设计以涵盖所有潜在的用途 – 在需要的时候留下,但您应该确保您的测试在面对无效参数或其他条件时定义了预期的行为. 据了解,YAGNI意味着
我只是和我的主要开发人员进行了交谈,他不同意单元测试是必要或重要的.在他看来,具有足够高的代码覆盖率的功能测试应该是足够的,因为任何内部重构(接口更改等)都不会导致测试需要重写或再次查看. 我尝试解释,但没有得到很远,认为你们可以做得更好. ;-)所以… 功能测试不提供的单元测试代码有什么好的原因?如果你所有的功能测试都有什么危险? 编辑#1感谢所有伟大的答案.我想补充说,通过功能测试,我并不意味
在单元测试中,对于单元交互的每个对象,我正在采取这些步骤(从我对JBrains的 Integration Tests are a Scam的理解中窃取): >在本机中编写一个测试,以确保它向协作对象发送正确的调用和参数 >在单元中编写一个测试,确保它处理来自协作对象的所有可能的响应.这些响应都是嘲笑的,因此该单元被隔离测试. >在协作对象中写一个测试,以确保它接受调用和参数. >写测试以确保每个可
我正在尝试模拟/责任驱动的设计.在需要服务来检索其他对象的对象的情况下,我似乎有一些问题要避免从mock返回mocks. 一个例子可以是检查上个月的帐单是否支付的对象.它需要一个检索帐单列表的服务.所以我需要在我的测试中嘲笑这个billRetrievalService.同时我需要BillRetrievalMock来回复嘲笑的条例草案(因为我不希望我的考试依靠Bill的实施). 我的设计有缺陷吗?有
我发现单位测试至关重要. 几次我尝试过TDD,但放弃了它,坐在一张纸上,画出几张图表首先似乎更有成效.正如众多主张TDD一样,我会继续努力. 我看了这个http://xprogramming.com/xpmag/sudoku5(最后一篇文章5),但这似乎突出了我用这个方法的困难. 基于一个简单容易定义的问题,网络上是否有良好的示例演练?这样我可以再次尝试这种方法,然后与样本进行比较.样本需要解释方
我刚刚开始一个新项目,现在ASP.NET MVC以非常可组合的方式设计,我认为可能是开始单元测试的好时机.我的代码大部分是新鲜的,在编写实际的生产代码之前,我正在编写测试. 不过,我的沮丧是,我花更多的时间修复我的测试中的错误,而不是修改我的生产测试的错误. 我的典型工作流最终是这样的: >写一个存根 >写测试 >确保测试失败 >填入存根 >测试仍然失败,所以花费一段时间超过预期和实际的产出. >
我一直在ASP.NET MVC项目工作大概8个月了.在大多数情况下,我一直在使用TDD,只有在我编写了实际代码之后,单元测试才覆盖了一些方面.总的来说,该项目的测试覆盖率很好. 我对迄今为止的结果感到非常满意.重构真的很容易,我的测试帮助我发现了很多错误,甚至在我第一次运行我的软件之前.此外,我开发了更复杂的假冒和助手帮助我最大限度地减少测试代码. 不过,我不太喜欢的事实是,我经常发现自己不得不更
在过去一年左右的时间里,我一直在开发我的TDD杂技,所以我现在相当擅长的要素 – 首先编写测试,嘲笑框架,尽可能小的测试,DI等. 不过,我觉得还有很多事情我没有得到单元测试. 例如,我经常发现,以这种方式进行单元测试并不能真正测试我的代码应该在做什么的集成和整体更大的图景.随着嘲笑的一切,我发现我不知道所测试的方法是否产生了我实际需要的结果,而不仅仅是他们所提供的结果.当我开始转向BDD时,我发
由于Angular团队不断升级/贬低Angular 2 RC版本中的内容,我遇到了这个问题. 我有一个具有依赖注入(DI)的组件,这实际上是一个服务(在这种情况下是UserService).这个UserService当然有一些自己的DI.在更新到Angular 2的最新RC4之后,我意识到我不能再创建类似的测试. 所以文档没有提到相对的这里是我的代码(为这个问题简化). 我的组件: import