使用Sinon.js而不是Jasmine的内置Spys有什么好处?

jpg*_*ace 20 javascript bdd js-test-driver jasmine sinon

我正在拼凑一个jsTestDriver/Jasmine环境来测试我们的前端代码,我看到很多对Sinon.js的引用,用于独立(或插入)间谍.有人能描述一下Sinon.js给Jasmine不用于测试用户界面的表吗?

Kar*_*hik 5

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

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

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

  1. 与显示EPG的Web-App一起用于测试导航等.
  2. 测试获取EPG以及Jasmine UT Specs的Javascript代码.

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

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