我用Node.js
和felixge的node-mysql
客户机.我没有使用ORM.
我正在用誓言进行测试,希望能够模拟我的数据库,可能使用Sinon.由于我本身并没有DAL(除了node-mysql
个),我真的不知道该怎么做.我的模型大多是简单的积垢,有很多Getters .
关于如何实现这一点有什么 idea 吗?
我用Node.js
和felixge的node-mysql
客户机.我没有使用ORM.
我正在用誓言进行测试,希望能够模拟我的数据库,可能使用Sinon.由于我本身并没有DAL(除了node-mysql
个),我真的不知道该怎么做.我的模型大多是简单的积垢,有很多Getters .
关于如何实现这一点有什么 idea 吗?
使用sinon,您可以在整个模块周围放置模拟或存根.例如,假设mysql
模块有一个函数query
:
var mock;
mock = sinon.mock(require('mysql'))
mock.expects('query').with(queryString, queryParams).yields(null, rows);
queryString
、queryParams
是您期望的输入.rows
是您期望的输出.
当您正在测试的类现在需要mysql并调用query
方法时,它将被sinon拦截和验证.
在你的测试期望部分,你应该有:
mock.verify()
在拆卸过程中,您应该将mysql恢复到正常功能:
mock.restore()