【发布时间】:2013-07-22 18:47:07
【问题描述】:
我正在使用 Mocha 和 Sinon 进行 javascript unit 测试。我想测试在某些情况下是否调用了某个方法。
但是,到目前为止,我无法管理 only 来测试该方法是否被调用。为了更清楚,我想要一个假的方法来代替实际的方法,因为我不想模拟我的整个应用程序状态来使这个简单的测试通过。
这是我的实际测试代码:
it('calls the handleResults method when its model syncs', function () {
var spy = sinon.stub( this.appview, 'handleResults' );
this.appview.model.fetch();
server.requests[0].respond( 200,
{ "Content-Type": "application/json" },
JSON.stringify( [ { id: "casa", text: "Something" } ] )
);
spy.should.have.been.called;
});
真正的this.appview.handleResults 方法正在被调用,而我想调用一个假版本,除了检查它是否被调用之外什么都不做。
我做错了什么?
【问题讨论】:
-
handleResults 是直接在 appView 上的方法吗?
-
能贴出调用
handleResults的代码吗?您必须确保它通过在原始方法的位置分配存根的相同路径。
标签: javascript unit-testing mocha.js sinon