假设我之前为遗留系统设置了超级嗖嗖的测试框架。这是特征A在测试特征A之前存在的长特征。特征B,C和D出现并且没有我们意识到,在某些时候打破了特征A的测试。
我们想知道哪些功能可以做到。
现在我要跑:
git bisect <bad> <good>
git run ./swish_test_suite.sh
问题是测试功能A的代码文件介于<bad>
和<good>
之间。我尝试过手动提取代码,但随后是各种配置和测试数据的路径中断(脆弱的代码?)。
有没有办法告诉git bisect
忽略文件夹?我可以想象有时会出现可怕的错误,但我猜这可能比其他选择更容易。
这里没有解决How can I ignore a directory when doing a Git bisect?,因为它涵盖了构建文件夹,其中解决方案是从repo中删除它们,但我想保持我的测试提交! < / p>
此git bisect with feature branches / later commits are needed to build也有点不同,因为我没有使用补丁或功能分支(我应该吗?)此外,解决方案似乎只是用于手动运行它,而不是git bisect run
ning it!
答案 0 :(得分:1)
对于这样的情况,请编写测试脚本,使其在每个步骤中添加所需的内容。 git help bisect
手册有一个示例,您可以根据自己的需要进行调整。即,该示例执行git merge hotfix
,执行您需要的任何内容以获取所需的测试文件。根据具体情况,合并可能不是您正在寻找的,但您可能会从某个地方挑选您的测试,或者只是事先将它们复制到其他目录(在二等分操作之前)并将其复制到{{ 1}}。
cp