Git - 为Ready API解决冲突

3
我们使用Ready API(SOAP UI的商业化版本)来开发我们的自动化测试套件。然而,即使是UI上最小的变化也会导致xml测试套件的大量更改。
例如,仅加载项目“Core”,Git diff给出:
之前:
<con:project status="CLOSED" name="_Core">Core-abc-project</con:project>
<con:project status="CLOSED" name="_EU">EU-abc-project</con:project>
<con:project status="CLOSED" name="_US">US-abc-project</con:project>

之后:

<con:project name="_Core">Core-abc-project</con:project>
<con:project status="CLOSED" name="_EU">EU-abc-project</con:project>
<con:project status="CLOSED" name="_US">US-abc-project</con:project>

这还不包括令人生畏的 lastOpend

我知道我们并不孤单,因为在这里和这里有讨论。

以下是我们所做的事情:

  1. 将项目设置为composite,以避免多个测试在同一模块上工作

  2. 使用“Pretty Print”美化XML

  3. 设置excel-cmp,在Git中比较我们的Excel文件

当编辑器几乎不做任何事情时,我们几乎要疯掉了,需要合并页面上的一页xml冲突。是否有任何方法可以进一步减少这些合并冲突?


这些真的是合并冲突吗?你在自己的分支上对这些代码行进行了不同的更改吗?只有当两个不同的分支以不同的方式更改相同的代码行(或行)时,才会发生合并冲突。当一条分支上的代码行发生变化而另一条分支上没有变化时,就不会发生冲突。 - Code-Apprentice
是的,我们有几个QA在同一个代码库上工作。即使最小的更改(例如:单击打开文件)也会导致XML配置中的更改,很容易发生冲突。即使没有冲突(例如:更改在不同的项目中),大规模的更改也会污染git diff。 - Hoàng Long
1个回答

2
我在所有我的soapUI项目以及使用生成的XML的其他项目中都遇到了同样的问题,例如TIBCO。合并更改非常麻烦且危险,而且很难确定哪些是生成的更改,哪些是用户更改。
对于soapUI,您可能已经尽了最大努力:使用组合项目来限制更改的范围,并打开漂亮的打印选项。一些其他建议:
  • 保持项目文件小而仅限于一组离散的测试用例。
  • 投资于像Beyond Compare这样的好的比较工具
虽然在我的团队中,我们增加了另一个SOP:大声呼喊“我正在XXX soapUI项目文件中。在我提交之前,不要碰它”。

感谢您的支持。很遗憾,我希望能得到更多...每次我们需要回溯一些东西时,每个人都会说“哎呀,我们现在陷入了困境”。 - Hoàng Long

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接