我即将开始我的第一个 TDD(测试驱动开发)程序,而且我(自然)有一个 TDD 心理障碍..所以我想知道是否有人可以帮助指导我应该从哪里开始。
我正在创建一个函数,该函数将从套接字读取二进制数据并将其数据解析为类对象。
据我所知,有3个部分:
1) 解析数据的逻辑
2) 套接字类
3) 类对象
我应该采取哪些步骤才能逐步进行 TDD?我绝对计划在实现功能之前先编写测试。
最佳答案
TDD 中的问题是“为可测试性而设计”
首先,您必须有一个接口(interface)来编写测试。
要到达那里,您必须大致了解您的可测试单元是什么。
其次,给定这个粗略的接口(interface),您可以将其形式化为实际的非工作类和函数定义。
第三,您开始编写测试——知道它们会编译但会失败。
在此过程中,您可能会开始对您的功能感到头疼。你如何为你的函数设置一个套接字?那是脖子疼。
但是,您在上面粗略的界面不是法律,这只是一个好主意。如果你的函数接受一个字节数组并创建一个类对象怎么办?这很容易测试。
因此,重新审视这些步骤,更改接口(interface),编写非工作类和函数,现在编写测试。
现在您可以填写类和函数,直到所有测试都通过。
当您完成这一点测试后,您所要做的就是挂上一个真正的套接字。你相信套接字库吗? (提示:你应该)这里没有太多要测试的。如果您不信任套接字库,那么现在您必须提供可以以受控方式运行的数据源。这是一个很大的痛苦。
关于TDD ...如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/738539/