2015-11-16 121 views
1

我要走this教程,試圖用Mocha,Supertest和Should.js進行測試。摩卡/應'未定義不是函數'

我有以下基本測試,通過PUT端點來創建用戶,該端點接受頭中的數據。

describe('User Routes', function() { 
    it('should allow me to make my user', function (done) { 
     request(url) 
     .put('/users') 
     .set(myCreds) 
     // end handles the response 
     .end(function(err, res) { 
       if (err) { 
       throw err; 
       } 
       // this is should.js syntax, very clear 
       res.should.have.status(201); 
       done(); 
      }); 
     }); 

然而,當端點不觸發,而又對用戶沒有得到做,代碼拋出should未定義... Uncaught TypeError: undefined is not a function錯誤。

我已經

var should = require('should'); 
var assert = require('assert'); 
var request = require('supertest'); 

在文件的頂部,那麼,爲什麼它是不確定的?

+0

1.)爲了排除這種情況,你確定你已經安裝了'require'd包嗎? ('npm install --save-dev should assert supertest') 2.)拋出異常時'res'的值是多少? –

回答

2

要調用應該正確,試試這個:

res.should.have.property('status', 201) 

res.status.should.be.equal(201) 

should.equal(res.status, 201) 

或安裝should-http

+0

好的,謝謝。 '不應該'非常相信教程。當它讓我時會接受。 – Jackson

相關問題