如果我一直在努力创建单元测试,那么当我将我的应用程序放在一起时进行集成测试,当我想重构架构时,我的手是否有点束缚?
似乎只是将一个方法从一个类拉到另一个类可能会有相当多的开销让测试再次运行。
答案 0 :(得分:1)
也许
如果你的单元测试是"change detector",反映代码的实现,那么重构可能会有非常重要的开销。
此外,由于单元测试通常只涉及实现细节,因此它们将随着体系结构的变化而失败。理想情况下,此失败将是建设性的反馈,并将告知您代码的其他部分期望的合同类型。
编写测试非常简单,编写有意义的测试,不提供误报,孤立,并且没有级联故障更加困难:)(仍然试图在这里解决)。< / p>
沿着库的公共接口进行测试应该有助于最大限度地减少实现失败。此外,进行大量单独的单元测试应有助于最大限度地减少组件间测试失败。
我发现一个非常有用的策略是在开发MVP或原型时,正在探索实现,在Acceptance级别或功能级别进行测试有助于验证产品,同时允许在实现方面有很多宽大处理。这些测试通常沿着服务公共接口发生,而不是沿着代码发生。