自动生成。净单元的测试
-
02-07-2019 - |
题
是否有这样的事单元的测试产生?如果是这样...
...它的工作呢?
...什么是自动产生的解决方案是可用的。净?
...有没有实例的使用技术这样吗?
...这是仅有利于某些类型的应用,或可能被用于替代所有的人工编写的单元的测试?
解决方案
查看 Pex 。它是微软研究项目。来自网站:
Pex通过基于动态符号执行的自动探索性测试,通过手写参数化单元测试生成单元测试。
其他提示
我认为,就TDD而言,单元测试生成没有意义。
您只进行单元测试,以确保您(作为开发人员)对设计和规格有所了解。一旦开始自动生成测试,它就会失去这个目的。当然,它可能意味着100%的代码覆盖率,但这种覆盖范围将毫无意义且空洞。
自动化单元测试也意味着您的策略是测试后的,这与TDD的测试之前的原则相反。同样,TDD不是关于测试。
话虽如此,我相信MSTest确实有自动单元测试生成工具 - 我可以使用VS2005。
2017年更新:
单元测试锅炉板生成器适用于VS 2015-2017并正在维护。似乎像宣传的那样工作。
我创造了'ErrorUnit'和它产生MSTest或关单元的测试,从您的暂停Visual Studio,或从你的错误日志;嘲笑类变量,方法参数,并EF数据访问的这么远。(http://ErrorUnit.com)
没有单元的测试发电机可以做的一切;单元测试的经典分成三个部分安排、行动和维护;该安排的部分是规模最大的一部分单元的测试和设置的所有先决条件测试,嘲笑所有的数据,是要采取行动的测试,该法部的一个单元的测试通常是一个线和激活代码部分正在测试传递数据,最后的断言部分测试的结果的行动部分和验证它达到预期(可以是零线的时候我只是想确定没有错误)。
单元的测试发电机,一般只能做的'安排',以及'行动'部分单元的测试创作;然而单元的测试发电机一般不要写'主张'部分,因为只有你知道什么是正确的、什么是不正确对你的目的。因此,一些手工录入/延伸的单元试验是必要的完整性。
我同意乔恩。某些类型的测试,如自动化模糊测试,肯定会受益于自动生成。虽然您可以使用单元测试框架的功能来实现这一目标,但这并不能实现与良好的单元测试覆盖率相关的目标。
Parasoft .TEST 具有测试生成功能。它使用NUnit框架进行测试描述和断言评估。
可以通过自动生成方案(构造输入和调用测试方法)和创建基于当前代码库行为的断言来准备回归测试套件。之后,在测试代码库发展之后,断言表示回归或可以轻松再次记录。
我已经使用 NStub 对我的课程进行测试。它运作得相当好。
有一种名为AgitarOne(www.agitar.com)的商业产品可自动生成JUnit测试类 我没有使用它,所以不能评论它有多有用,但如果我现在正在做一个Java项目,我会看着它。
我不知道.net等价物(Agitar有人宣布.net版本,但AFAIK从未实现)。
我知道这个线程很老但是为了所有开发人员,有一个很好的库叫做单元测试生成器:
https://visualstudiogallery.msdn.microsoft.com/45208924- e7b0-45df-8cff-165b505a38d7
Good dev
GennyMcGenFace 创建一个单元试验的每个功能在类和产生的对象随机的字/价值在每个参数。
- 产生单元的测试,为每个功能在你的课
- 图出有效的随机产生的价值观的参数输入和返回的发言。
- 易模仿接口返回有效的随机产生的价值
- 产生单元的测试,为每个功能在你的课
- 进口所需的所有名字空间的进入你的测试类
它有助于设置单元的测试,特别是如果你有输入的对象有很多的参数。
该单元的测试将会看起来像这样的东西
Selenium 从网页上的用户命令生成单元测试,非常漂亮。