Javascript 什么';与Jasmine相比,使用Sinon.js的优势是什么;什么是内置间谍?

Javascript 什么';与Jasmine相比,使用Sinon.js的优势是什么;什么是内置间谍?,javascript,bdd,jasmine,sinon,js-test-driver,Javascript,Bdd,Jasmine,Sinon,Js Test Driver,我正在拼凑一个jsTestDriver/Jasmine环境来测试我们的前端代码,我看到很多关于Sinon.js的参考资料,供独立(或临时)间谍使用。有人能描述一下Sinon.js为测试UI带来了哪些Jasmine没有的东西吗?*将其作为答案发布,因为这不适合评论部分* FWIW,我们使用SinonJS创建了一个FakeHTTP(LinearEPG)服务器组件,用于实现托管EPG(线性电视节目时间表)信息的真实服务器的restapi 然后,我们以两种方式使用此FakeHTTP LinearEPG服

我正在拼凑一个jsTestDriver/Jasmine环境来测试我们的前端代码,我看到很多关于Sinon.js的参考资料,供独立(或临时)间谍使用。有人能描述一下Sinon.js为测试UI带来了哪些Jasmine没有的东西吗?

*将其作为答案发布,因为这不适合评论部分*

FWIW,我们使用SinonJS创建了一个FakeHTTP(LinearEPG)服务器组件,用于实现托管EPG(线性电视节目时间表)信息的真实服务器的restapi

然后,我们以两种方式使用此FakeHTTP LinearEPG服务器:

  • 与显示EPG的Web应用程序一起使用,用于测试导航等
  • 测试获取EPG和Jasmine UT规范的Javascript代码
  • 诚然,我们本可以使用Jasmine Spies实现FakeServer功能,但它似乎有点复杂。另一方面,FakeServer提供了一种优雅而快速的方式来模拟提供REST接口的服务器


    基于SinonJS的FakeServer在当时服务器本身仍处于开发阶段时被证明非常有用

    我不明白为什么这件事应该以非建设性的方式结束。我已经大量使用茉莉花一年多了,仍然不明白为什么人们会添加sinon.js。倾向于说,sinon补充说,没有什么是不存在的,但很想听听sinon.js用户的意见。问题是,没有具体的答案。你可能认为没有必要使用sinon.js,其他人可能认为这是自切片面包以来最好的东西。一个可能是一个功能的优势,另一个可能会认为它的设计过度。那么,这个问题的正确答案是什么呢?正确答案应该是理念和/或实现上的差异,重点是这对UI测试的影响。有一些主观性的空间,但不多。