Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 使用CodedUI测试测试WPF应用程序,编码的ui测试项目是否应该共享解决方案?_Visual Studio 2012_Tfsbuild_Coded Ui Tests - Fatal编程技术网

Visual studio 2012 使用CodedUI测试测试WPF应用程序,编码的ui测试项目是否应该共享解决方案?

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

首先是一些背景;我们正在.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包括在产品解决方案中,并阻止测试运行人员查看测试?还是只有两种解决方案更好

各位,赞成和反对的是什么

使现代化
最后,我们创建了一个包含编码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,到目前为止,这似乎是唯一的选择。