你如何编写涉及数据库的单元测试?

时间:2011-07-07 22:56:47

标签: unit-testing node.js

在Node.js中,我写了一个推特客户端。如何编写涉及人们发布帖子和内容的单元测试?

3 个答案:

答案 0 :(得分:6)

总之,存根。单元测试时,为您的Twitter API调用编写存根函数,每次只返回相同的数据和响应。毕竟,你不是在测试Twitter的API。

答案 1 :(得分:3)

当您首先编写测试(TDD)时,做一些名为dependency injection的事情变得更自然。在做TDD时,鲍勃叔叔练习three rules

  

多年来我来描述   测试驱动开发的方面   三个简单的规则。他们是:你是   不允许写任何作品   代码,除非它是失败的   单元测试通过。你不被允许   写更多的单元测试而不是   足以失败;和编译   失败就是失败。你不是   允许写更多的作品   代码比足以通过   一个失败的单元测试。

     

您必须从编写单元测试开始   对于您想要的功能   来写。但是根据规则2,你不能   写了很多单元测试。如   单元测试代码即将失败   编译,或者不通过断言,你   必须停止并编写生产代码。   但是按规则3你只能写   进行测试的生产代码   编译或传递,不再存在。

     

如果你想到这一点,你会的   意识到你根本无法写作   很多代码都没有   编译和执行某些事情。   实际上,这确实是重点。在   我们所做的一切,无论是写作   测试,编写生产代码或   重构,我们保持系统   始终执行。时间   在运行测试之间是订单   秒或分钟。甚至10   分钟太长了。

你也可以使用我认为一些流行的存根框架:

答案 2 :(得分:1)