.net NUnit与手动单元测试
背景 我最近尝试开发一套测试,用于特定应用程序的回归测试。我一直在使用NUnit,没有任何问题 我遇到了向NUnit测试发送参数的问题,似乎没有令人满意的答案 问题 假设我实现了一个简单的单元测试程序,它加载一个类,依次运行Startup、Test和Teardown方法,捕获异常,然后卸载程序集。与使用NUnit相比,这样做的缺点是什么.net NUnit与手动单元测试,.net,nunit,.net,Nunit,背景 我最近尝试开发一套测试,用于特定应用程序的回归测试。我一直在使用NUnit,没有任何问题 我遇到了向NUnit测试发送参数的问题,似乎没有令人满意的答案 问题 假设我实现了一个简单的单元测试程序,它加载一个类,依次运行Startup、Test和Teardown方法,捕获异常,然后卸载程序集。与使用NUnit相比,这样做的缺点是什么 在这个场景中,我可以轻松地将参数传递给我的测试用例,或者做我可能想到的任何其他疯狂的事情。但我担心的是,放弃NUnit会让我失去什么。你会失去什么?你的时间 如
在这个场景中,我可以轻松地将参数传递给我的测试用例,或者做我可能想到的任何其他疯狂的事情。但我担心的是,放弃NUnit会让我失去什么。你会失去什么?你的时间 如果您为客户或企业工作,他们(可能)付钱给您是为了解决业务问题,而不是为了编写基础架构代码。为了满足业务需求,可能需要一些基础设施。在这种情况下,显然不是。你在重新发明轮子 不要落入“不在这里发明”的陷阱。使用NUnit。它支持。如果它不能满足你的需要,调查一下。或者看一下BDD样式等。或用于验收测试。这只是一个部分列表 如果您是为了学习目的自己编写测试框架,那就太好了!如果不是,你是在浪费你的时间和/或你公司的钱 解决技术问题 JUnit最初是在。当时没有太多的选择。编写测试框架不是一个庞大的项目。编写一个功能齐全且易于使用的健壮的应用程序更加困难。编写测试运行程序、IDE集成、CI集成、代码覆盖率集成等要困难得多。而且已经完成了。除非你是Ayende Rahien,否则别这么做 除了集成之外,您还失去了任何未实现的功能(还有很多)。我不使用所有这些,但我确实依赖其中许多
(从我的评论中移动)这一问题的两个部分主要是独立的部分:
- 创建我们自己的实现有哪些优点/缺点
- 为什么这个用例甚至没有理由玩弄创建我们自己的想法 实施
1) 因为这属于“车轮的重新发明”,所有的赞成/反对意见都是相同的,并且比这个问题更一般,所有这些推理都适用于这个案例
- 我们不使用现有的稳定实现
- 我们可能低估了在现有实现中投入的工作时间
- 我们失去了围绕现有实现构建的所有周边生态系统
- 我们失去了共同积累的社区知识
- 我们可能无法在可接受的时间范围内达到要求的最低质量预期
- a) 完全定制的实现(我的意思是在 设置、测试和拆卸)
- b) 或者您可以依赖
或 相关属性[TestCaseSource]
- c) 或者扩展NUnit