6

我的问题是关于 TDD 的,我应该何时提交或推送更改?

我想知道在函数返回的某些值仍然是伪造的或实现明显通过测试但接口存在的情况下推送代码是否可以。换句话说,我可以在编辑之前推送代码吗?或者以其他方式:我可以推送不改变“界面”但实际上还没有工作的代码吗?

我不是在谈论单元测试,而是更多的一些集成/验收端到端测试,例如我从工具 A 获取一些数据,将其发送到工具 B 并检查是否创建了数据库记录。实施此类测试通常很耗时,并且最后包含许多断言,但推送早期版本的代码允许其他团队成员根据我们的工作部分工作。

感谢您提前回答这个问题。

4

1 回答 1

6

开发工作流程始终是它所涉及的开发人员之间的某种共识,因此这里没有固定的规则。您需要与其他开发人员协调以找出最适合您的方法。

也就是说,我个人的做法是永远不要破坏远程主机。相反,一旦你有编译的东西(即使测试失败)就提交并推送到一个分支,然后在你的测试通过后与 master 合并,即只将工作代码推送到 master,但让你的非工作测试随时在树枝上。

如果你有任何类型的持续集成系统,这个工作流程确保你永远不会通过将一堆失败的测试推送到 CI 系统将要接受和测试的分支来破坏你的 CI 构建。

于 2013-04-30T06:17:59.877 回答