例如,我创建了一个WebDriver样板文件,我在同一个项目中的多个项目和多个工作站上使用,但是我将其视为一个库,因此我不会将其提交给项目回购。例如
我有"项目X"在我的桌面,笔记本电脑和工作计算机上运行,我在笔记本电脑上更新样板代码并将更改提交到样板库,然后对Project X测试用例进行一些修改并提交。后来当我从Project X repo拉到我的笔记本电脑时,我做了一些代码更改并运行我的WebDriver测试,这可能需要大约5-10分钟。说了10分钟之后,我意识到测试已全部运行,有些已经失败,因为我忘了更新库。
处理此问题的一些手动方法可能是在版本代码中引用库版本号,但这也是一个可以忘记的手动步骤。
目前我倾向于向库提供一个函数来生成自己的哈希,然后测试用例代码首先需要运行,如果哈希不匹配,那么我立即知道我的测试用例应该是使用较新的库。
这种情况下常见的方法有哪些?
答案 0 :(得分:1)
您是否考虑过使用版本控制提交sha? Git还有一种处理子模块的方法http://git-scm.com/book/en/v2/Git-Tools-Submodules。
通常语言有一个依赖管理工具,对于Python我相信它是Pip,通常这些工具有一种锁定版本并用一个命令更新的方法。见Install specific git commit with pip。