c# - 单元测试应该在本地机器上运行吗?

标签 c# unit-testing testing

最近我的任务是用 C# 为桌面应用程序编写和运行单元测试。过去,我主要编写自动化功能/GUI 测试。这些在专用的 QA 机器上运行,因为这些测试会导致崩溃、数据丢失、蓝屏死机等。是否应该为运行单元测试进行类似的设置?在我的本地机器上运行单元测试有什么风险吗?

最佳答案

单元测试应该在您的本地机器上在构建服务器上运行。它们是开发人员反馈的宝贵资源。 DEV 应该编写单元测试。在 checkin 之前,他应该运行单元测试以确保他没有破坏任何东西。然后构建服务器将再次运行单元测试,以确保它实际上没有破坏任何东西,并确保与其他代码的集成(如果有的话)成功。

单元测试运行后,构建服务器最好运行集成测试和自动化 UI 测试。当这些过程完成后,就生成了一个没有已知缺陷的版本——至少没有被测试覆盖。换句话说,绿色构建意味着软件集成进展顺利,开发人员可以继续 checkin - 或者在实际发布软件之前的某个时候开始进行手动测试。

当足够多的测试已经自动化时,软件测试必杀技就会出现,这样开发人员和企业就可以放心地发布仅基于此自动化测试流成功的产品。实际上,只有少数产品会如此成熟 - 并且需要进行一些手动测试。

单元测试不涉及外部系统或接口(interface)。因此,在本地运行它们没有任何风险。

关于c# - 单元测试应该在本地机器上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10605390/

相关文章:

unit-testing - 隔离框架和模拟框架之间的区别

java - 没有getTitle()方法为什么获取不到title标签的文本

c# - 从 XElement 中获取 2 个属性来创建字典 LINQ

c# - 为什么在设置对 "System.IO.FileNotFoundException: Could not load file or assembly"的引用时得到 "copylocal=false"?

c# - wpf如何自动聚焦于文本框

java - 带有局部变量的 Mockito

javascript - 在JavaScript中命名函数参数窗口是否可以?

c++ - 无法使用代码块编译 Boost

c# - 具有 httppostedfilebase 的复杂对象在提交时不会绑定(bind)

c# - 使用 EPPlus,我正在尝试将 gridview 导出到 Excel 工作表