内容简介:我一直在使用翻译自:https://stackoverflow.com/questions/28165063/how-can-i-mock-a-fake-database-for-when-unit-testing-against-knex
连接到后端数据库.但我希望能够对我的代码进行单元测试.有没有办法模拟数据库连接?
我尝试过使用 proxyquire ,但似乎无法让它工作.
问题似乎与Knex的初始化方式有关.
var knex = require('knex')({
client: 'mysql',
connection: {}
});
我设置knex在我的单元测试中被嘲笑.
myService = proxyquire('../app/myService', {
'knex': knexProxy
});
我的服务包括knex.
var knex = require('knex').knex,
当我的服务运行查询时,它会失败.
var sql = knex("table_name");
sql.insert(rowToInsert, "auto_increment_id");
sql.then(function (insertId) {
resolve();
}, function (err) {
reject(err);
});
出于某种原因,我似乎无法在尝试连接之前捕获请求.
我也试图创建一个 custom Knex Client ,但这还没有奏效.
我一直在使用 in-memory Sqlite3 databases 进行自动化测试,取得了巨大的成功.这不是真正的单元测试,但它的运行速度比 MySQL 或PostgreSQL快得多.我已发布有关此解决方案 on a different question 的更多详细信息.
翻译自:https://stackoverflow.com/questions/28165063/how-can-i-mock-a-fake-database-for-when-unit-testing-against-knex
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 使用 Gomock 进行单元测试
- 使用JUnit进行单元测试
- 使用Jest进行React单元测试
- Jest & enzyme 进行react单元测试
- 如何实现插入排序以及进行单元格测试
- 如何对 Jenkins 共享库进行单元测试
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
写给大家看的设计书(第4版)
Robin Williams / 苏金国、李盼 / 人民邮电出版社 / 2016-1 / 59.00元
畅销设计入门书最新版,让每个人都能成为设计师 在这个创意无处不在的时代,越来越多的人成为设计师。简历、论文、PPT、个人主页、博客、活动海报、给客人的邮件、名片……,处处都在考验你的设计能力。 美术功课不好?没有艺术细胞?毫无设计经验? 没关系!在设计大师RobinWilliams看来,设计其实很简单。在这部畅销全球多年、影响了一代设计师的经典著作中,RobinWilliams将......一起来看看 《写给大家看的设计书(第4版)》 这本书的介绍吧!