我刚刚开始使用 QTP 来测试我们拥有的 java 监视器。我认为如果将所有对象放在共享存储库中并且根本不使用本地存储库会更干净。这样做有什么不好的地方吗?
1 回答
不,这取决于。
没有理由禁用本地存储库。甚至没有办法做到这一点!但是,是的,您可以简单地避免使用它。
我通常在团队中有一条活跃的规则,上面写着“本地仓库中的任何内容都应该在签入时消失”。我什至检查了库初始化代码,看看本地存储库中是否有东西,如果有,就会发出警告。
但这取决于 AUT 是否有用,以及您的工作流程:
测试实际使用的存储库是关联(共享、中央)存储库的组合,被本地存储库中的内容“覆盖”。因此,您不仅可以添加,还可以使用本地条目修改共享的 repo 条目。这是一个非常强大的功能,它允许您在共享中定义“正常”情况,在本地存储库中定义例外情况。如果您的 AUT 具有定义明确的 GUI 对象,这些对象可以在各种上下文中轻松重新识别,那很好。但如果没有,这个功能就派上用场了。
我同意这种“覆盖”机制很容易导致难以追踪的“错误”(或者说:播放问题)。通常,正如墨菲建议的那样,当您诊断奇怪的播放症状时,本地存储库是您想到的最后一个想法。
然而,通过对象存储库管理器打开中央存储库、检查它、使其可写等等,对于每一个小的更改,都是相当多的点击工作。所以本地仓库是一个很好的更新“缓冲区”。
因此,特别是如果您使用 QC 作为中央存储点,并且可能在那里启用了版本控制,您会喜欢先将新内容添加到本地 repo 并在检查之前将它们一次加载到中央 repo 的能力在变化中。(顺便说一句,如果你签出中央 repo 文件超过 5 分钟,其他团队成员会杀了你,有效地对其进行了写锁定。)