使用Sinon.js相比于Jasmine内置的Spys有哪些优势?

20

我正在为测试我们的前端代码组建一个jsTestDriver/Jasmine环境,看到很多关于Sinon.js的引用来进行独立(或替代)间谍。请问有人能描述一下在测试UI方面,Sinon.js相比Jasmine有哪些优势吗?


4
我不明白为什么这个问题应该被标记为"无建设性"。我已经大量使用Jasmine超过一年了,仍然想知道为什么人们要添加sinon.js。我倾向于认为sinon没有额外的功能,因为这些功能在其他地方已经存在,但我很愿意听取sinon.js用户的意见。 - ggozad
这个问题的问题在于,它没有具体的答案。你可能认为不需要sinon.js,而其他人可能认为它是自面包片以来最好的东西。一个人可能认为某个功能是优势,而另一个人可能认为它过度设计。那么对于这个问题,什么才是正确的答案呢? - Andreas Köberle
4
问题的正确答案将是哲学和/或实现方式上的差异,重点在于这如何影响UI测试。有一些主观因素,但并不多。 - Dave Snigier
1个回答

5

*由于这无法适应评论部分,因此将其发布为答案!*

顺便提一下,我们使用SinonJS创建了一个FakeHTTP(LinearEPG)服务器组件,用于实现托管EPG(线性电视节目时间表)信息的真实服务器的REST-API。

然后,我们在两种模式下使用了这个FakeHTTP-LinearEPG服务器:

  1. 与Web应用程序一起使用,用于测试导航等显示EPG的功能。
  2. 测试获取EPG的Javascript代码以及Jasmine UT规范。

诚然,我们本可以使用Jasmine-Spies来实现FakeServer功能,但它似乎有些复杂。另一方面,FakeServer提供了一种优雅且快速的方法来模拟提供REST接口的服务器。

当时服务器本身仍在开发中时,基于SinonJS的FakeServer被证明非常有用!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接