Blogs

使用冒充者(faked),让测试做得更好!

在写了多年博客之后,你决定尝试一下所用的博客平台的 API 。你开始练习使用它,但你意识到一个问题:你的测试在没有与远程博客服务器进行交互的情况下,

继续阅读

在测试用例中对服务调用进行契约检查!

下面的测试用例将对 CloudService 的服务调用进行模拟替代( mocks )。 这个测试用例真的能为我们提供足够的信心吗,它让你相信:这个服务调用是可以正确工作的了么? @Test

继续阅读

不要把逻辑放在测试用例中!

**编程语言给了我们很大的表达能力。**运算符和条件表达式等概念是重要的工具,让我们能够编写程序,处理各种各样的输入。但是,这种灵活性是以增

继续阅读

清晰地创建测试数据!

**Helper 方法让创建测试数据变得更容易。但随着时间的推移,它们会变得更难理解。**因为您需要测试数据的更多变形,来满足不断变化的新测试要求: // This helper method

继续阅读

像变更检测器一样的测试代码,是有害的!

像变更检测器一样的测试代码,是有害的! 想像一下,你刚刚完成一次重构(没有改变该应用的外部行为),正打算提交这次变更。但是,为了安全起见,你打

继续阅读

避免写出不稳定的测试

不稳定的测试会让你的生活更加困难。您会收到失败通知,便也没什么帮助。你甚至可能因对失败已麻木而错过了一个真实的失败条件。你对代码的修改可能会

继续阅读

原子性提交是持续交付的必备技能

“坚持少做,持续分解,坚持反馈,持续改善”是《持续交付 2.0 》一书中最为重要的四大工作原则。 它们在代码提交与 Code Review 中的应用就是:提交的原子性。 原子

继续阅读

Facebook 如何进行大规模持续交付

软件行业已经想出了多种方法来更快、更安全、更高质量地交付代码。其中许多工作集中在诸如持续集成、持续交付、敏捷开发、DevOps 和测试驱动开发

继续阅读

如何写好提交注释

提交注释不应该仅仅作为可有可无的附代说明,而应该作为一个公开文档,用于向未来的读者说明所做的工作以及原因。它和代码同等重要,而且也会与代码一

继续阅读

当代软件面临的依赖管理挑战

一、序 一周前,我们对 1000+用 golang 写的代码进行 Mob CR,类似于“扎堆编程”。 在 4+ 小时的讨论中,其中讨论的一个问题是:“如何正确进行软件项目的依

继续阅读