2016-08-19 113 views
0

我想將tdd添加到我的網站。但是,我有一個問題讓摩卡/柴運行。chai mocha TypeError:undefined不是函數

process.env.NODE_ENV = 'test'; 

//var mongoose = require("mongoose"); 

var chai = require('chai'); 
var chaiHttp = require('chai-http'); 
var server = require('../app'); 

var m_Kbase_data = require('../model/Kbase'); 
var m_KbaseScript_schema = require('../model/KbaseScript'); 


var should = chai.should(); 
var expect = chai.expect(); 
chai.use(chaiHttp); 

describe('KBase', function() { 
     beforeEach(function(done){ 
     //m_Kbase_data.collection.drop(); 
     //m_Kbase_data.save(function(err) { 
      done(); 
     //}); 
     }); 
// afterEach(function(done){ 
//  m_Kbase_data.collection.drop(); 
//  //done(); 
// }); 

     it('does a thing', function() { 
      return chai.request('/kbase') 
      .then(function() { 
      expect(1).to.equal(1); 
      }); 
    }); 
}); 

我已驗證我的數據庫具有集合並正在工作。

如果我有服務器和運行,運行測試,我得到一個額外的錯誤「未捕獲錯誤:聽EADDRINUSE」

所有其他錯誤是「類型錯誤:未定義是不是一個函數」

+0

我還沒有完全得到它,但我現在有一個工作。我不得不改變這個:var expect = chai.expect;但是,它仍然沒有鏈接到它將出現的服務器。 – user269964

回答

0

這顯然適用於我的代碼:

it('does a thing', function (done) { 
     chai.request('http://127.0.0.1:5000/') 
     .get('/kbase') 
     .end(function (err, res) { 
     expect(1).to.equal(1); 
     done(); 
     }); 
}); 

我現在得到通過了。

相關問題