我有一个针对Firefox OS的HTML5应用程序。 Firefox OS中的打包应用程序无法使用eval。 (
的CSPdefault-src *; script-src 'self'; object-src 'none'; style-src 'self' 'unsafe-inline'
已经生效,无法放松。)我的应用程序本身并不使用eval,但我知道的间谍/模拟/存根库,如Sinon,可以。所以我的单元测试在Firefox OS下运行时使用间谍,模拟或存根失败。 (他们在常规浏览器中取得成功。)显然,我可以手动创建间谍,嘲笑和存根,但我宁愿不重新发明轮子。
是否存在不使用eval的JavaScript间谍/模拟/存根库?
答案 0 :(得分:0)
Jasmine 2.2(http://jasmine.github.io/2.2/introduction.html#section-Spies)的间谍确实在Firefox OS应用程序中正常运行,您可以使用更自然的Mocha语法进行异步测试。
但是,确实需要花费大量时间来重写我的测试,因为Jasmine期望和间谍的语法不同于expect.js和sinon.js。