在Node.js中,我写了一个推特客户端。如何编写涉及人们发布帖子和内容的单元测试?
答案 0 :(得分:6)
总之,存根。单元测试时,为您的Twitter API调用编写存根函数,每次只返回相同的数据和响应。毕竟,你不是在测试Twitter的API。
答案 1 :(得分:3)
当您首先编写测试(TDD)时,做一些名为dependency injection的事情变得更自然。在做TDD时,鲍勃叔叔练习three rules:
多年来我来描述 测试驱动开发的方面 三个简单的规则。他们是:你是 不允许写任何作品 代码,除非它是失败的 单元测试通过。你不被允许 写更多的单元测试而不是 足以失败;和编译 失败就是失败。你不是 允许写更多的作品 代码比足以通过 一个失败的单元测试。
您必须从编写单元测试开始 对于您想要的功能 来写。但是根据规则2,你不能 写了很多单元测试。如 单元测试代码即将失败 编译,或者不通过断言,你 必须停止并编写生产代码。 但是按规则3你只能写 进行测试的生产代码 编译或传递,不再存在。
如果你想到这一点,你会的 意识到你根本无法写作 很多代码都没有 编译和执行某些事情。 实际上,这确实是重点。在 我们所做的一切,无论是写作 测试,编写生产代码或 重构,我们保持系统 始终执行。时间 在运行测试之间是订单 秒或分钟。甚至10 分钟太长了。
你也可以使用我认为一些流行的存根框架:
答案 2 :(得分:1)