什么是单元测试?
什么是良好的单元测试?
新的单元测试
单元测试 - 定义
学习单元测试
如何正确模拟和单元测试
单元测试:初学者问题
还有更多...
另外,Google for site:stackoverflow.com"你好吗"单元测试
我已经阅读了一些关于单元测试的问题,但我并不确切知道它是什么或者你是如何做到的.我希望有人能告诉我以下内容:
非常感谢您的帮助.
默认情况下,nunit测试按字母顺序运行.有谁知道设置执行顺序的方法?这个属性是否存在?
我正在寻找以下规则:
如果出现以下情况,则测试不是单元测试:
那里还有什么?
项目编写单元测试的哪些部分几乎或几乎不可能?数据访问?FTP?
如果对这个问题有答案,那么%100的报道就是一个神话,不是吗?
如果我为开发项目创建一个测试套件,那么这些类是否应该使用项目代码的其余部分保持版本控制?
- 编辑 -
我相信这是可能有多种答案(如其中一个有效的问题在这里).这不是讨论也不是民意调查.此外,这个问题显然不具争议性,因为到目前为止,没有一个受访者似乎互相争论.
- 原文 -
惊人!我现在做软件大约15年了,我仍然不知道我在做什么:)
说真的,我还在努力学习基础知识:
但最糟糕的是代码复杂性.我的代码往往变得邪恶.几周后它甚至会咬自己.我付出了巨大的努力来保持它简单,可读,可维护,优雅,美观,有凝聚力,松散耦合,基于非常直接的抽象.但所有这些努力都耗尽了!
不要误解我的意思,根据大多数人的标准,我的代码非常好.我的意思是它灵活,或多或少可单元测试,并做它需要做的事情.然而,它远非简单.
每一次变革都需要大量的重构.如果另一个人打开我的代码是为了添加一个功能,他就必须做一些愚蠢的事情.即使他是GENIUS,即使他是我自己的不熟悉代码库的CLONE,他也无法做到这一点.为什么,为什么上帝的缘故呢?是不是有一些方法论,一些技术,一些冥想技巧,什么都没有?!
如何保持我的代码简单?
在单元测试中,我已经习惯了测试应用一些常规值的方法,一些违反方法合同的值,以及我能想出的所有边界情况.
但这是非常糟糕的做法
我觉得这两种方法都没有任何好处.通过范围测试,我可以想象,这样做是不切实际的,因为它需要时间,但随机性?
更新:
我自己并没有使用这种技术,只是想知道它.如果你能在需要的时候使用它,那么随机性可以成为一个很好的工具.
最有趣的回答是Lieven的'模糊'提示:
http://en.wikipedia.org/wiki/Fuzz_testing
TX
在我的工作场所,我们有ac#.net解决方案,包含大约50个项目和大约2000个单元测试.更改代码后,我们需要在将更改推送到构建服务器之前运行解决方案中的所有测试.运行所有测试大约需要10-15分钟.我在想 - 嘿,也许可能会有一些过程会分析我所做的所有代码更改,然后决定只运行相关的测试方法.如果可以进行这样的分析,那么计算机只运行15次或100次测试,而不是运行2000次测试,那么我们谈论的是生产率的提高和减少的头痛.任何人对如何实现这一点,或者如果有这样的软件有任何想法?