在哪里推动失败的测试?


14

我只是更改了GitHub存储库上的分支设置,所以我的[下一个]分支需要通过pull请求传递一个CI构建。

随后与许多团队成员进行了关于测试失败的讨论。

为了上下文...

该仓库有一个[大师]分支,只有PR'd成时,有一个释放,使[大师]包含代码的最后一个版本,无论它是否是一个重大的,未成年人,修补程序,β,α-/预发行版本。

[next]分支是“默认”分支,我们打算保留“发布就绪”代码;从技术上讲,可以随时将该分支公诸于[master]并发布。

每个fork都有自己的dev分支,并为[next]贡献者PR。

当我审阅不重要的PR时,我会将贡献者的dev分支合并到我的“ review”分支中,如果我发现可以快速修复的问题,则将提交/推送更改以及新的(有时会失败)测试和PR返回贡献者的dev分支;当他们合并我的更改时,使新的失败测试通过,然后推送,它们的PR进行同步,然后将PR合并到[next]中。

但是这个问题不是关于通过测试,而是关于失败的测试。


测试失败记录了需要解决的问题。

已知的bug应该编写测试,以便我们知道什么不起作用。

从技术上讲,GitHub 问题列表(针对和/或 标签进行了过滤)也可以做到这一点。它是一个很好的做法,有一堆失败的测试文档的bug?

在[next]上失败的构建意味着我们还没有准备好发布……但是,“准备发布”有点像“准备好”要孩子了-您从没有为此做好充分的准备,并且某些地方(重要性不一)将不可避免地出问题。


因此,我们只是将通过测试推向[next]。那么,将失败的测试推向何处呢?我的意思是,在PR /审查流程之外?

例如,一个用户在问题列表中报告了一个新错误,我想为其编写一个失败的测试套件-以便指定需要执行的操作以及在何处进行操作,这使新贡献者更容易上手最终PR修复。

我应该在哪里推动这些失败的测试?还是将失败的测试推送到任何地方甚至是个好主意?


@PhilipKendall好点!我们仍在微调过程;我不喜欢VS如何将“被忽略的”测试与“不确定的”测试一起使用-如果其中一个较低级别的测试失败,则我们不希望一半的测试失败,因此当不满足先决条件时,我们会将它们设为不确定的; 这使得测试出于正确的原因报告失败,并且在无法测试其用途时会“不确定”。我们没有很多的(再),所以忽略它们可能是一种选择......但那么,它是一个失败的测试,如果它忽略
Mathieu Guindon '16

为什么部分审查过程需要您编写任何代码?如果看到错误,则可以在PR中进行评论,并有选择地拒绝PR。
詹姆斯

@James好,我喜欢编写代码。.除了有更多的贡献者加入之外,与实际的编码相比,我正在做越来越多的GitHub维护和PR(公共关系)工作!
Mathieu Guindon

Answers:


11

在这种情况下,我要做的是将失败的测试标记为“忽略”-这样,您仍然可以进行测试,以便知道将来需要修复的内容,但最终不会导致构建失败。

如果您还用问题跟踪器参考标记每个测试以解决问题,那么这将为您提供一种将事情联系在一起的简便方法。


4

完全公开:我是讨论的参与者之一。

存储库的master分支不是它的master分支。合并到master并没有任何“实际目的”,并且该分支没有执行分支应做的事情(即move)。
您正在滥用此分支作为最新版本的标签。

代替使用分支,而使用标签。当您希望发布时,可以像主题分支一样在“发行分支”中进行必要的步骤。然后,将其合并到[next]并在其上放置一个标签。

[下一个]履行的角色是master分支。只有准备发布的代码进入其中。其他任何东西都将成为[develop]分支。开发分支包含有待稳定的工作。这意味着:删除[master],重新调整[next]的用途,并为“不稳定”的工作创建另一个分支

由于除了需要失败的测试这一规则以外,它更是例外,它提醒了未解决的错误,因此根据需要创建和销毁不稳定程度较低的分支应该不是太大的问题


1
在[master]中拥有最新的发行版可以很容易地从最新发行的发行版中分支出来;然后可以将该修补程序PR至[next],然后从那里扩展至每个dev分支..还是我缺少什么?
Mathieu Guindon '16

2
您可以git checkout -b HotFix ReleaseTag(就是,如果我记得该分支正确地创建了checkout语法)。这应该从
ReleaseTag
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.