C# 单元测试应该在本地机器上运行吗?
最近,我的任务是为桌面应用程序编写和运行C#中的单元测试。在过去,我主要编写自动化功能/GUI测试。这些测试在专用的QA机器上运行,因为这些测试可能导致崩溃、数据丢失、蓝屏死亡等。是否应该为运行单元测试进行类似的设置?在本地机器上运行单元测试有风险吗?单元测试通常由开发人员在开发时完成。因此,在您的开发环境中运行它。可能是您的本地计算机。单元测试通常由开发人员在开发时完成。因此,在您的开发环境中运行它。可能是您的本地计算机。单元测试应该隔离开来,以便可以在每台计算机上运行,而无需进一步设置。根据定义,单元测试仅在非常精细的级别上测试功能单元,而不涉及外部系统(即数据库、文件系统等)。单元测试应隔离开来,以便可以在每台机器上运行,而无需进一步设置。根据定义,单元测试只在非常精细的级别上测试功能单元,而不涉及外部系统(即数据库、文件系统等)。如果您的本地机器是开发机器,我认为没有风险,因为该机器不是生产最终用户机器。您也可以考虑TFS实验室管理(如果您有微软TFS作为ALM/源代码控制系统)。在这种情况下,您可以创建虚拟或物理测试环境,并在这些定义的环境中部署和测试应用程序C# 单元测试应该在本地机器上运行吗?,c#,unit-testing,testing,C#,Unit Testing,Testing,最近,我的任务是为桌面应用程序编写和运行C#中的单元测试。在过去,我主要编写自动化功能/GUI测试。这些测试在专用的QA机器上运行,因为这些测试可能导致崩溃、数据丢失、蓝屏死亡等。是否应该为运行单元测试进行类似的设置?在本地机器上运行单元测试有风险吗?单元测试通常由开发人员在开发时完成。因此,在您的开发环境中运行它。可能是您的本地计算机。单元测试通常由开发人员在开发时完成。因此,在您的开发环境中运行它。可能是您的本地计算机。单元测试应该隔离开来,以便可以在每台计算机上运行,而无需进一步设置。根据
不确定非TFS场景下类似测试产品的名称。如果您的本地机器是开发人员机器,我看不到任何风险,因为该机器不是生产最终用户机器。您也可以考虑TFS实验室管理(如果您有微软TFS作为ALM/源代码控制系统)。在这种情况下,您可以创建虚拟或物理测试环境,并在这些定义的环境中部署和测试应用程序
不确定非TFS场景中类似测试产品的名称。单元测试应在本地计算机上运行,并在生成服务器上运行。作为开发人员的反馈,它们是非常宝贵的资源。开发者应该编写单元测试。在签入之前,他应该运行单元测试以确保他没有破坏任何东西。然后,构建服务器将再次运行单元测试,以确保它实际上没有损坏任何东西,并且与其他代码(如果有的话)的集成成功 当单元测试运行后,构建服务器最好运行集成测试和自动化UI测试。当这些过程完成时,生成的构建没有已知缺陷——至少没有测试覆盖的缺陷。换句话说,绿色构建意味着软件集成进展顺利,开发人员可以继续签入,或者在实际发布软件之前的某个时候开始进行手动测试 当足够多的测试被自动化时,软件测试涅盘就出现了,这样开发者和企业就可以放心地发布一个仅基于此自动化测试流成功的产品。事实上,只有少数产品会如此成熟,而且需要一些手动测试
单元测试不涉及外部系统或接口。因此,在本地运行单元测试是没有风险的。单元测试应该在本地机器和构建服务器上运行。作为开发人员的反馈,它们是非常宝贵的资源。开发者应该编写单元测试。在签入之前,他应该运行单元测试以确保他没有破坏任何东西。然后,构建服务器将再次运行单元测试,以确保它实际上没有损坏任何东西,并且与其他代码(如果有的话)的集成成功 当单元测试运行后,构建服务器最好运行集成测试和自动化UI测试。当这些过程完成时,生成的构建没有已知缺陷——至少没有测试覆盖的缺陷。换句话说,绿色构建意味着软件集成进展顺利,开发人员可以继续签入,或者在实际发布软件之前的某个时候开始进行手动测试 当足够多的测试被自动化时,软件测试涅盘就出现了,这样开发者和企业就可以放心地发布一个仅基于此自动化测试流成功的产品。事实上,只有少数产品会如此成熟,而且需要一些手动测试 单元测试不涉及外部系统或接口。因此,在本地运行它们是没有风险的