2014-10-01 143 views
0

我已經正確配置了我的應用程序,例如,如果我運行node app.js,所有內容都將啓動。我試圖測試我的應用程序的連接正在使用單元測試正常工作。我至今是:如何使用express,nodeJS和Mocha測試應用程序連接

var options = { 
    url: 'http://localhost', 
    port: 8080, 
}; 
var app = require("../app.js"); 
var should = require('should'); 
var assert = require("assert"); 
var async = require('async'); 

it ('tests the ok connection of the app by checking that it is listening on port 8080', function(dont) { 
    request(options,app) 
    .get('/') 
    .expect(200) 
    .end(function (err, res) { 
    res.header['location'].should.include('/') 
    res.text.should.include('Listening on port 8080'); 
    done(); 
    }); 
}); 

我收到錯誤消息Error: options.uri is a required argument,這就是爲什麼我添加了var options。現在我收到錯誤消息TypeError: Object #<Request> has no method 'get'

如何正確檢查我是否有良好的連接(200),我在正確的頁面('/'),並且在連接時記錄消息Listening on port 8080

謝謝!

+0

你只需要使用'request(app)'而不用選項。另外'應該'沒有'.include',你需要使用'.containEql'。 – 2014-10-02 07:30:07

回答

0

對於TypeError,請確保您使用supertest而不是其他類似request。原因是模塊request不提供.expect()和其他功能。

+1

謹慎解釋downvote? – mscdex 2014-10-02 12:13:07

+0

感謝您的回覆 - 當我訪問''/''頁面時,我希望它顯示我發送的html。因此,我不知道是否對我使用'app.get('/ user',function(req,res){res.send(200);});'這樣的東西是好的,因爲它只是顯示一些代替我想要顯示的html的東西。那麼,我如何測試着陸頁上的任何內容? – maudulus 2014-10-02 13:48:52

相關問題