是否存在不使用eval的JavaScript间谍/模拟/存根库?

时间:2015-03-23 03:44:33

标签: javascript unit-testing tdd bdd firefox-os

我有一个针对Firefox OS的HTML5应用程序。 Firefox OS中的打包应用程序无法使用eval。 (

的CSP
default-src *; script-src 'self'; object-src 'none'; style-src 'self' 'unsafe-inline'

已经生效,无法放松。)我的应用程序本身并不使用eval,但我知道的间谍/模拟/存根库,如Sinon,可以。所以我的单元测试在Firefox OS下运行时使用间谍,模拟或存根失败。 (他们在常规浏览器中取得成功。)显然,我可以手动创建间谍,嘲笑和存根,但我宁愿不重新发明轮子。

是否存在不使用eval的JavaScript间谍/模拟/存根库?

1 个答案:

答案 0 :(得分:0)

Jasmine 2.2(http://jasmine.github.io/2.2/introduction.html#section-Spies)的间谍确实在Firefox OS应用程序中正常运行,您可以使用更自然的Mocha语法进行异步测试。

但是,确实需要花费大量时间来重写我的测试,因为Jasmine期望和间谍的语法不同于expect.js和sinon.js。