2014-11-06 63 views
4

我正在努力弄清楚如何在單元測試中使用sinon僞裝服務器。如何在Sinon.JS/Node中調用fakeServer

的例子他們的文檔中:

setUp: function() { 
     this.server = sinon.fakeServer.create(); 
    }, 

    "test should fetch comments from server" : function() { 
     this.server.respondWith("GET", "/some/article/comments.json", 
      [200, { "Content-Type": "application/json" }, 
      '[{ "id": 12, "comment": "Hey there" }]']); 

     var callback = sinon.spy(); 
     myLib.getCommentsFor("/some/article", callback); 
     this.server.respond(); 

     sinon.assert.calledWith(callback, [{ id: 12, comment: "Hey there" }])); 
    } 

不幸的是,我不知道發生了什麼事情在myLib.getCommentsFor(...),所以我不能告訴你怎麼竟然打服務器。

所以在節點,我想下面...

sinon = require('sinon'); 

srv = sinon.fakeServer.create(); 

srv.respondWith('GET', '/some/path', [200, {}, "OK"]); 

http.get('/some/path') // Error: connect ECONNREFUSED :(

顯然,HTTP仍然認爲我想一個真正的服務器,讓我怎麼連接到假的?

回答