【问题标题】:Why I should not write Integration Tests before unit tests?为什么我不应该在单元测试之前编写集成测试?
【发布时间】:2015-12-09 18:17:50
【问题描述】:

从 J. B. Rainsberger 对 Integration Tests 的解释中扩展 - 我在单元测试中模拟远程组件的行为以及当我到达组件的边界时;我为远程组件的模拟行为添加了集成测试。这是我发现远程组件微妙的新行为的时候,它强制我进行代码更改,我认为如果我在开始实现行为规范之前编写集成测试可以避免这种情况。如果您已经在持续集成中尝试过或者已经对此提出了一些想法,请通过分享您的经验来帮助我。谢谢。

【问题讨论】:

    标签: unit-testing continuous-integration integration-testing agile continuous-delivery


    【解决方案1】:

    正如您所观察到的,当多个开发人员/团队在项目的多个组件上并行工作时,集成到 CI 管道中的集成测试可以帮助稳定开发环境,方法是确定哪些组件更改可以接受,哪些不可以接受。

    另一方面,当需要/希望进行跨组件更改时,它们可以被视为需要克服的障碍。这不一定是坏事,它实际上可以鼓励相关的开发人员/团队合作,共同确保项目作为一个整体朝着正确的方向发展。

    因此,根据项目和开发活动的特殊性,可能需要采取一些平衡措施。

    【讨论】:

    • 我同意这不是坏事。我征求以下意见:我们应该做的第一件事是编写集成测试,以便我们能够尽快消除这些障碍,以便在“快速失败”中添加一些东西。项目的特殊性:使用由 2 个远程团队和 1 个本地团队开发的组件。
    • 听起来是个好主意,前提是团队同意并且您能够存根代码以使测试通过(或者您使用 CI 可以轻松区分测试失败之间的实际回归以前从未工作过)。否则管理测试失败的成本可能太高。
    猜你喜欢
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多