我应该什么时候提交并推动测试驱动开发?

use*_*893 6 version-control tdd push commit

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

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

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

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

Gia*_*ian 6

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

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

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