Stubbing Backbone类构造函数与Jasmin和Sinon
Stubbing Backbone Class constructor with Jasmin and Sinon
在以下模块中:
@APP.module "LeftSidebar", (LeftSidebar, APP, Backbone, Marionette) ->
API =
initialize: ()->
@controller = new LeftSidebar.Controller
LeftSidebar.addInitializer ()->
API.initialize()
我想测试调用APP.LeftSidebar.addInitializer()
时LeftSidebar.Controller
是否初始化。我尝试过使用以下规范,但@spy.calledWithNew()
返回false:
describe "LeftSidebar app", ->
describe "initialization", ->
beforeEach ->
@spy = sinon.spy(APP.LeftSidebar, "Controller")
APP.LeftSidebar.addInitializer()
it "initializes LeftSidebar.Controller", ->
expect(@spy.calledWithNew()).toBeTruthy()
做这件事的正确方法是什么?
- 转而监视
initialize
- 您缺少要测试的初始化,请将其添加到测试中
describe "LeftSidebar app", ->
describe "initialization", ->
beforeEach ->
@spy = sinon.spy(@controller, "initialize")
// APP.LeftSidebar.addInitializer() // this does nothing, drop it
it "initializes LeftSidebar.Controller", ->
new @controller();
expect(@controller.initialize.calledOnce).toBeTruthy()
相关文章:
- 未调用 Sinon 存根
- 如何安装Jasmin:Velocity项目上的javascript测试工具
- node.js测试事件是否是在不使用超时的情况下使用sinon.js发出的
- Sinon Spy不使用Javascript调用或应用程序
- Stubbing Backbone类构造函数与Jasmin和Sinon
- 什么'与Jasmine相比,使用Sinon.js的优势是什么;内置于间谍
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- Sinon窥探功能表达
- Sinon Mocha节点错误处理
- sinon.js验证mock方法's带回调的参数
- 使用sinon.js创建一个“;“间谍对象”;使用基于真实构造函数/原型的间谍方法
- 如何在测试异步运行时使用 Sinon 沙箱
- stub.callsArg(index) from Sinon.JS 是做什么的
- Sinon:存根和整个对象,并将其替换为新对象
- Stubbing async.waterfall with Sinon.JS
- 为什么我的 sinon 假服务器不返回任何内容
- 将 Sinon 与 Typescript 和接口一起使用
- sinon.useFakeTimers不;t点火超时
- sinon server.autoRespond
- 如何使用sinon监视中的嵌套依赖项