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

时间:2012-08-31 13:11:04

标签: javascript bdd jasmine sinon js-test-driver

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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

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