首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编码UI测试:创建多个单独的UIMap类而不是仅仅创建多个部分UIMap类的原因是什么?

编码UI测试:创建多个单独的UIMap类而不是仅仅创建多个部分UIMap类的原因是什么?
EN

Stack Overflow用户
提问于 2015-08-12 11:07:31
回答 2查看 492关注 0票数 3

我正在做一个项目,其中包括一个“半大”应用程序图形用户界面。有大约4-5个(复杂的)页面,我想要执行编码的UI测试,我得到的印象是,创建多个UIMaps的方式是可行的!资料来源:UIMap容器使用多个UIMaps多源和名单可能会继续.

我的问题/想法:使用多个UIMaps“很好”,因为它:

  1. 允许代码的更多分类结构。
  2. 允许开发人员之间更容易地进行合作。
  3. 使代码的维护不那么令人生畏。

但是,为什么不只是在多个部分类中分割UIMap呢?它还会有同样的优势吗?更进一步:将UIMap放在部分类中将防止开发人员(Me)向代码(如UIMap容器 )添加复杂性。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-12 13:05:44

这个问题并不是专门针对CodedUI的。使用部分类来模拟关注点分离并不是正确的方法。

它们可能使编写类更容易,但它们没有创建适当的关注点分离(这是类存在的根本原因),因此也不会使类的使用变得更容易,因为从外部的角度来看,在一个或多个文件中编写代码的类之间根本没有区别。

为了给出一个简单的例子,您将让自动完成返回一个平面列表,其中包含您类的所有成员,不加区分地遍历所有部分文件。

当类是部分生成代码(非生成代码)或用不同语言编写(例如,SL/WPF的xaml和C# )时,使用部分。不同的位可能涵盖相同行为的部分,因此(从SoC的角度来看)将它们分组在同一个类下是有意义的,但是从代码管理的角度来看,这两个部分需要分开。这就是为什么CodedUI使用部分文件的原因(生成*.Designer.cs文件,而不生成*.cs文件)。

如果您觉得需要创建部分来分离关注点,那么您可能应该后退一步,使用适当的SoC (即创建不同的类)。

在您公开的特定情况下,我将考虑为应用程序UI的不同部分创建UIMaps (无论您是将UI的行为分离为不同的窗口,还是将其划分为不同的窗口,等等--取决于其复杂性)。

票数 4
EN

Stack Overflow用户

发布于 2015-08-12 14:20:48

使用多个UI地图而不是一个大地图有几个原因。其中一些是:

  • UI地图很难清理。随着测试套件的发展,UI得到越来越多的旧的和未使用的项。几乎没有任何支持安全地移除不需要的碎片。
  • 拥有多个UI地图意味着不同的测试开发人员可以同时高效地工作,而无需在主UI地图中生成冲突项。虽然".uimap“文件是一个简单的文本文件,但它包含XML。以配置管理系统常见的方式成功地合并这些文件将是非常困难和不可能的。
  • 每个测试都有多个UI地图,这意味着当不再需要测试时,它的UI Map可以被丢弃。所有对该测试特定的支持都被彻底抛弃。
  • 拥有一个应用程序的每页一个用户界面地图意味着扔掉一个UI地图,为页面创建一个新的UI地图相对便宜。
  • 大UI地图占用大量内存和CPU时间。有趣的是,使用大型UI Map可以使测试套件变得非常慢(我没有这方面的实际证据)。一个大的UI地图有大量的成员和嵌套的类。很容易想象,管理这样一个类所需的运行时数据很大,消耗了大量的内存和CPU周期。
  • 拥有许多UI地图而不是一个大的UI地图意味着可以在不向主项目地图中添加大量不必要的项目的情况下完成实验。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31963435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档