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