我为我的应用程序创建了一个数据库包装器,如下所示.为了测试,我显然想要替换实际的数据库.我可以创建一个嘲弄查询方法并捕获所有输入的新类,但是使用sinon.js似乎更合适,但是如何使用它?
是否应该使用sinon.js的模拟或存根功能?
wrapper = (function() {

  function wrapper() {}

  wrapper.db = require("database");

  wrapper.prototype.insertUser = function(doc) {
    return this.db.query("INSERT INTO USERS...");
  };

  return wrapper;

})();

解决方法

你可以同时使用这两个.

模拟器有一个预期的排序行为,如果不正确遵循,将给你一个错误.

一个Stub类似于一个模拟,但没有订单,所以你可以按照你想要的方式调用你的方法.
根据我的经验,你几乎不需要嘲笑.

他们都将替换你的方法一个空的方法,或一个关闭,如果你通过一个.
这将是这样的:

stub = sinon.stub(wrapper,'insertUser ',function () { return true; });

那么你添加的期望行为来检查是否发生了.

我喜欢使用Jasmine与Jasmine-Sinon检查测试.

javascript – 在sin on mo mo mo mo mo mo???????的更多相关文章

  1. iOS绘图圈

    我想在我的iOS应用中创建下面的圈子.我知道如何制作圆圈,但我不完全确定如何获得圆弧上的点数.它必须是代码而不是图像.下面是我目前的代码.更新到答案解决方法如果(x,y)是中心而r是大圆的半径,则第i个外圆的中心将是:在0开始cita并为下一个圆增加PI/4弧度工作实施编辑:添加实现并重命名变量.

  2. ios – 检查互联网连接是否可用于swift

    目前,当我的应用程序尝试在没有互联网连接的情况下对用户的位置进行地理位置分配我有点新的快速和ios编程–我的道歉.解决方法不是一个完整的网络检查库,但我发现了this简单的方法来检查网络可用性.我设法把它翻译成Swift,并在这里是最终的代码.它适用于3G和WiFi连接.我也将其上传到我的Github一个工作的例子.如果您正在寻找一种简单的方法来检查纯粹在Swift中的网络可用性,您可以使用它.

  3. ios – 检查Internet连接可用性?

    在开始与我的iPhone应用程序中的服务通信之前,我只需要检查互联网连接的可用性.我使用Swift1.2和Xcode6作为我的开发环境….我的问题是,我对于iOS开发是相当新鲜的,不太确定使用这个逻辑来完成它是多么好可靠.该课程中的大部分内容完全不清楚,但是我做的小测试工作很好!

  4. swift基础判断网络连接

    没网没有网的时候回弹出警告框

  5. 与Swift 2中的防火墙指针

    我正在尝试检查用户是否具有互联网连接,部分过程涉及使用UnsafePointer调用。与Swift2.x中的防火墙指针一起使用的正确方法是什么?

  6. Android 使用cos和sin绘制复合曲线动画

    这篇文章主要介绍了Android 使用cos和sin绘制复合曲线动画的方法,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下

  7. 利用Jasmine对Angular进行单元测试的方法详解

    单元测试是一种能够帮助开发者验证代码中某一部分有效性的技术。下面这篇文章主要给大家介绍了关于利用Jasmine对Angular进行单元测试的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

  8. TypeError:使用Jest测试Angular组件时,无法读取未定义的财产(读取'clearAsyncValidators')

    我正在使用Jest测试我的组件。当我运行测试时出错。下面是我的onClickLogin()代码块我还使用AngularMaterialUI和表单验证,因此我明确禁用了表单验证。我尝试过像这样禁用所有表单验证此外,我还尝试为必填字段设置值但错误如下有什么帮助吗?

  9. 如何使用PHP检查某个坐标是否落在另一个坐标半径上

    我看到这么多功能,但它只适用于MySQL或Postgresql.我想要PHP的等效逻辑.我在做一些比较,就像我有创建时正在生成的这些数据.之后,我想检查这个坐标是否落在另一个坐标的半径之内,然后返回true,否则为false.提前致谢!谢谢您的帮助.下面是一个示例函数,它需要两组经度和纬度坐标,并返回两者之间的距离.

  10. 是否可以使用Jasmine的toHaveBeenCalledWith匹配器与正则表达式?

    很抱歉,这是不支援的功能。还有一个issueopenongithub请求此功能。我已经挖了一点代码库,我看到如何在existingmatcher内部实现这是可能的。我认为它更适合实现它作为一个单独的匹配器,以便抽象是单独捕获。在做了一些挖掘之后,我发现Jasminespy个对象有一个调用属性,它有一个mostRecent()函数。这个函数还有一个子属性args,它返回一个调用参数数组。因此,当想要检查字符串参数是否匹配特定的正则表达式时,可以使用以下序列对调用参数执行正则表达式匹配:很简单。

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部