Visual studio 2012 使用CodedUI测试测试WPF应用程序,编码的ui测试项目是否应该共享解决方案?
首先是一些背景;我们正在.NET4.5中开发一个大型桌面WPF应用程序,目标是64位Windows7和8。我们使用的是Visual Studio 2012.2(很快将是.3,然后可能是2013!)和TFS 2012(同样是.2,很快将是.3,然后是2013) 目前,该产品全部位于一个大型解决方案中(刚好超过50个项目),产生一个WPF exe、一个DLL负载和一个安装它的漂亮MSI 我们使用TFS(门控和调度)来构建解决方案、安装程序(WiX)和运行测试(针对BDD和MSTest单元测试的SpecFlow),这非常有效 我有一个单独的计划TFS构建,该构建通过PowerShell脚本将MSI部署到不受信任的AD域中的物理测试装备中(请参阅以了解与此相关的挑战的详细信息!) 好的,这就是我现在所处的位置,现在我想把事情带到下一步;CodedUI测试,以推动完整的应用程序集成测试;我想“冒烟测试”我的构建 因此,作为一个简单的灵魂,我在我的产品解决方案中添加了一个新项目;CodedUI测试项目 这很好地运行了本地安装的产品(而不是刚刚构建的产品;因为我最终希望CUIT作为冒烟测试在部署的测试装备上运行,而该装备刚刚安装了我刚刚构建的MSI),并使用断言执行一些UI测试 现在我的问题是CUIT项目作为产品解决方案的一部分,本地测试运行会发现并运行我的CUIT测试,这是不需要的。我只想在实验室构建测试阶段运行CUIT测试 那么将CUIT项目放入产品解决方案中是一个坏主意吗?还是应该是一个单独的解决方案?因为它们是相关的,所以把它们分开似乎是错误的;CUIT项目是解决方案可部署应用程序的完整堆栈集成测试 我是否可以将CUIT包括在产品解决方案中,并阻止测试运行人员查看测试?还是只有两种解决方案更好 各位,赞成和反对的是什么 使现代化Visual studio 2012 使用CodedUI测试测试WPF应用程序,编码的ui测试项目是否应该共享解决方案?,visual-studio-2012,tfsbuild,coded-ui-tests,Visual Studio 2012,Tfsbuild,Coded Ui Tests,首先是一些背景;我们正在.NET4.5中开发一个大型桌面WPF应用程序,目标是64位Windows7和8。我们使用的是Visual Studio 2012.2(很快将是.3,然后可能是2013!)和TFS 2012(同样是.2,很快将是.3,然后是2013) 目前,该产品全部位于一个大型解决方案中(刚好超过50个项目),产生一个WPF exe、一个DLL负载和一个安装它的漂亮MSI 我们使用TFS(门控和调度)来构建解决方案、安装程序(WiX)和运行测试(针对BDD和MSTest单元测试的Spe
最后,我们创建了一个包含编码UI测试项目的新解决方案,并确保它是使用构建UI解决方案的相同TFS构建构建的。这允许我们在本地加载和运行编码的UI测试,而不会出现问题,主UI项目中的单元测试不会受到干扰。似乎仍然有点脱节,但在多人团队中,每个用户的测试设置太尴尬了。将编码的UI拆分为不同的解决方案更简单。我也有这个问题,因为我们刚刚开始使用CUIT。目前,CUIT仍保留在产品解决方案中。我们这样做是因为测试应该保留在开发人员的内存中。当测试停留在解决方案中时,我担心它们会被遗忘。但事实上,有时会有一种不好的感觉,即CUIT污染了产品的解决方案,因此我猜他们会在经过一段时间后得到自己的解决方案,并建立测试
<>强>编辑:如果使用VisualStudio的不同版本,则必须考虑到,例如VS Pror不能用代码UI测试来生成解决方案。这意味着在“多版本环境”中,您必须将编码的UI测试与“真实”代码分开。我也有这个问题,因为我们刚刚开始使用CUIT。目前,CUIT仍保留在产品解决方案中。我们这样做是因为测试应该保留在开发人员的内存中。当测试停留在解决方案中时,我担心它们会被遗忘。但事实上,有时会有一种不好的感觉,即CUIT污染了产品的解决方案,因此我猜他们会在经过一段时间后得到自己的解决方案,并建立测试
<>强>编辑:如果使用VisualStudio的不同版本,则必须考虑到,例如VS Pror不能用代码UI测试来生成解决方案。这意味着在“多版本环境”中,您必须将编码的UI测试与“真实”代码分开。我所做的是制作一个解决方案并在其中制作一个CUIT项目,然后在其中制作多个编码的UI测试。这很好,因为使用orderedTest可以将它们一起运行,它们还共享一个UIMap,这也很有帮助。我做的是制作一个解决方案并在其中制作一个CUIT项目,然后在其中制作了多个编码的UI测试。这很好,因为使用orderedTest,您可以一起运行它们,它们还可以共享一个UIMap,这也很有帮助。如果您可以对现有答案提供一些反馈就好了(保持讨论活跃),如果您可以对现有答案提供一些反馈就好了(保持讨论活跃)单独编码的UI测试项目+解决方案就是我现在正在使用的。这似乎是唯一一种不让测试运行者拾取和运行CUIT测试的方法(我不想要),但我不喜欢它,因为这意味着编辑主项目解决方案的人可能仍然不知道CUIT测试的存在。也许这对测试运行者的“问题”有“帮助”:这就是我现在尝试这条路线的原因。我更喜欢“一体式”解决方案,但希望测试运行程序只查找单元测试而不是CUIT,到目前为止,这似乎是唯一的选择。我现在正在使用的是单独编码的UI测试项目+解决方案。这似乎是唯一一种不让测试运行者拾取和运行CUIT测试的方法(我不想要),但我不喜欢它,因为这意味着编辑主项目解决方案的人可能仍然不知道CUIT测试的存在。也许这对测试运行者的“问题”有“帮助”:这就是我现在尝试这条路线的原因。我更喜欢“一体式”解决方案,但希望测试运行程序只查找单元测试而不是CUIT,到目前为止,这似乎是唯一的选择。