练习执行TDD和Mocking等良好实践

ram*_*nik 20 tdd mocking

我正在寻找能够提供实际课程计划或途径的资源,以鼓励和加强TDD模拟等编程实践.有很多资源可以显示示例,但我正在寻找一些实际上提供了进展的东西,它允许学习概念而不是强制仿真.

我的主要目标是加快某人理解TDD背后的概念并实际有效实施它们的过程.有这样的免费资源吗?

STW*_*STW 12

这是一件很难鼓励的事情,因为它可以被(非常公平地)视为一个改变海洋的东西; 与其说是一个目标的进展,而是一个完全不同的方法.

建议的简短清单是:

  • 你需要成为领导者,你需要在说服别人之前变得精通,你需要能够向他人展示道路并解决他们的不确定性.

  • 首先要熟练自己编写单元测试

    • 练习为现有方法编写测试.您可能会在桌面上试图测试大量代码 - 但这不是因为测试很难或者您无法理解测试; 它更有可能是因为您现有的代码和编码风格不是很容易测试.

    • 如果您很难入门,那么找到最简单的方法,并将它们作为起点.

  • 然后专注于提高您生成的代码的可测试性

    • 最重要的提示:让事情变得更小,更重要.这是一个巨大的变化 - 这是让自己去做的最困难的部分,甚至更难说服其他人.

就个人而言,在阅读鲍勃·马丁的"清洁代码"一书时,我有了"清晰的时刻"; 一个早期的章节讨论了一个干净的方法会是什么样子,作为一个例子,他采用了一个大约40行的方法,在视觉上类似于我生成的东西,并将其重构为一个几乎没有更大的行计数但是没有任何东西的类.但一口大小的方法,每个可能3-7行.

看看这些itty-bitty方法,它突然点击了单元测试的基石"每个测试只测试一件事"最容易实现,当你的方法只做一件事(并且做一件事而没有30个内部机制在起作用).

好的是你可以立即开始应用你的发现; 练习编写小方法和小类并沿途进行测试.你可能会开始很慢,并且相当快地遇到一些障碍,但前几个月将帮助你指出正确的方向.


use*_*454 5

您可以尝试参加(如果您附近没有人,可以主持一个!)编码道场

我参加了一个这样的练习,学习TDD很有趣.