代码之家  ›  专栏  ›  技术社区  ›  Biswanath

单元测试用例生成器[关闭]

  •  14
  • Biswanath  · 技术社区  · 17 年前

    有人试过.Net的单元测试生成器吗?

    我假设,虽然它不会取代编写功能的人编写的任何好的单元测试,但我认为它会带走一些工作,并成为我们改进单元测试的起点。

    谢谢

    5 回复  |  直到 17 年前
        1
  •  22
  •   TravisO    17 年前

    单元测试生成是执行单元测试的错误方式。进行单元测试的正确方法是在编写功能代码之前创建测试用例,然后开发代码直到测试验证,这称为TDD(测试驱动开发)。

    但既然代码已经写好了,它现在已经是水深火热了。可能的有缺陷的单元测试比根本没有单元测试要好。我一直比较喜欢NUnit,而且有一个NUnit兼容的测试生成器 here (非常便宜)。

        2
  •  11
  •   Pascal Paradis    17 年前

    你考虑过吗 Pex ? 它来自微软研究院。

    具有高代码覆盖率的测试套件 NET程序。为此,佩克斯 执行系统的程序分析 (使用动态符号执行, 模型检查)以确定测试结果 监视执行跟踪。Pex用途 测试不同的输入

        3
  •  5
  •   shapr    17 年前

    几年前我修改了Haskell的 QuickCheck 考虑到 purely functional Test Driven Development 通过生成性测试。我的解决方案是保存生成失败测试用例的PRNG种子,并使用该种子运行未来的测试。

    我最近得到了一份.NET的工作,谷歌发现了MbUnit did have Gallio ,但我在使用它时遇到了一些麻烦,我不记得确切的原因。

    因此,TDD和生成性测试并不是相互排斥的,Gallio是我最近看到的唯一一个.NET选项,我不记得为什么我现在不使用它。

        4
  •  0
  •   johng    9 年前

    我为.Net创建了一个单元测试生成器ErrorUnit

    使用生成器进行TDD开发当然是可行的;例如,在编码按钮点击时发生的情况时,以TDD方式使用ErrorUnit的一种方法是:

    2) 然后运行程序,使用按钮导航到屏幕,并在事件方法中设置断点,按下按钮

    3) 当遇到断点时,您可以单击ErrorUnit的“添加单元测试”生成一个单元测试,其中所有对象和当前数据库状态都已模拟。(根据需要对不同的用例状态重复)

    这样,您就可以节省大部分时间,而这些时间将花在键入排列和行为上。

    ErrorUnit还与错误日志一起工作,通过在单元测试中序列化和模拟错误发生时的确切状态,在其他环境中重现错误;将TDD用于生产问题解决。

    推荐文章