为什么在Visual Studio编码的UI测试中编辑UIMap.designer.cs文件不好?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么在Visual Studio编码的UI测试中编辑UIMap.designer.cs文件不好?相关的知识,希望对你有一定的参考价值。

我已经读过编辑UIMap.Designer.cs文件是不好的,但是,我不明白为什么。

每个MSDN:“不要直接修改UIMap.designer.cs文件。如果这样做,将覆盖对文件的更改。” http://msdn.microsoft.com/en-us/library/dd380782.aspx

有人知道被覆盖的是什么吗?这是否意味着如果在Designer文件之后编辑UIMap.uitest文件,设计器文件会被反转?请帮忙。

答案

每次编辑(保存)到UIMap.uitest文件后,都会从UIMap.uitest文件重新生成UIMap.designer.cs文件。文件顶部有一条注释,表示它是生成的文件,编辑将丢失。

乍一看似乎需要编辑设计器文件中的代码的大量更改可以通过UIMap编辑器中显示的操作和UI控件的属性面板进行编辑来完成。某些更改确实需要手动编辑。对于这些,有一个命令(按钮或右键单击菜单)将动作移动到UIMap.cs文件中,可以根据需要对其进行编辑和扩展。这两个UIMap ... cs文件都在其类标题中指定partial,因此两者都有助于同一个UIMap。

当一个方法的一个动作需要手动编辑时,将该方法拆分为两个或三个部分以将需要编辑的动作放入其自己的方法中是值得的。 split命令可通过按钮或右键单击菜单获得。隔离了操作后,可以将其方法移动到UIMap.cs文件中。

在移动方法然后编辑它们时,我建议采用以下活动顺序。

  1. 如果需要:将方法拆分为多个部分,然后使用UIMap编辑器重命名拆分方法。保存UIMap.uitest文件,导致设计器文件重新生成。然后添加对拆分和重命名方法的调用。构建测试,或许,检查测试是否仍按预期工作。
  2. 使用UIMap编辑器将方法移动到UIMap.cs文件中。
  3. 保存所有文件,导致设计器文件重新生成。省略此全部保存可能会导致在C#文件上显示混乱错误。
  4. 编辑刚移入UIMap.cs文件的代码。

UI Map编辑器是Visual Studio 2012的标准编辑器。对于Visual Studio 2010,编辑器由Feature Pack 2添加。

另一答案

另一种选择是创建另一个类文件,例如,创建Class1.CS并将所有代码从UIMap.Designer.csUIMap.cs移动到Class1.cs。现在每当你录制任何内容时,重新生成的代码将自动生成在UIMap.Designer.cs文件中,所以只需将相同的代码复制到Class1.cs并根据需要更改代码,并在运行主测试时调用this.Class1.launch();它将运行codedTest

它还可以帮助您避免在UIMap.uitest中拆分方法,然后将其移动到UIMap.cs,甚至还会有一个单独的类,包括对codedUItest的所有更改。

另一答案

在Visual Studio中打开UIMap.uitest文件,然后单击“将代码移动到UIMap.cs”

enter image description here

你的功能将从designer.cs转移到UiMap.cs

以上是关于为什么在Visual Studio编码的UI测试中编辑UIMap.designer.cs文件不好?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 编码 UI 测试的替代方法

使用 Windows 10 机器在 Visual Studio 2017 中运行 xamarin UI 测试后 adb.exe 进程崩溃

为 WCF 负载测试加载 UI Vs Visual Studio 2010 [关闭]

是否可以将 Visual Studio 负载测试从编码转换为可视化?

Microsoft Visual Studio 2013 VSTS单元测试指南

尝试在 Visual Studio 2008 中编辑 UI 时出现 WPF 设计器异常