こんにちは、私はNodeJsでかなり新しいです。私は最初のテストを書こうとしています。簡単なユニットテストNodeJS/Express
私は設定に悩まされているので、私はいくつかの助けを望んでいました。
私はこの2つの関数を書いた:
app.js:
var express = require('express')
, cors = require('cors')
, app = express();
app.get('/a_nice_jsonp',cors(corsOptions), function(req, res, next){
var result = parseCookies(req);
res.jsonp(result);
});
app.get('',function(req,res,next){
res.statusCode = 200;
res.end()
});
それが私の唯一のファイルであると私はモジュールとしてエクスポートされません。
私はそれについてのテストを書くのはかなり簡単だと思います。私はそれは本当に簡単な作業のように読み取りますが、私は、テストのセットアップとどのようにそれを行うにフェイルオーバーするように見えるとし
app-test.js:
var expect = require('expect.js');
var express = require('express');
var expressApp = express();
describe('app js test', function() {
describe('GET /', function() {
it('should respond to GET with empty path', function() {
expressApp.get('', function(req, res, body){
expect(res.status).to.equal(200);
});
})
});
});
:私はこのような何かを始めています。
誰でもお手伝いできますか?
編集:上記のテストはうまく動作します。しかし、私はテストすることが困難です。 .end()
と同様に、jsonp request
のresult
である。私は単純な方法を知らないのですか?あなたは
expressApp.get('', function(req, res, body){
expect(res.status).to.equal(200);
});
を行うと
エラーメッセージはありますか?どのようにテストを実行しましたか? –
申し訳ありませんが、私は十分正確ではありませんでした。上記のテストは正常に動作します。しかし、これは私がテストできる唯一のものです。例えば。どうすればres.jsonp(result)をテストできますか?私はそれにどのようにアプローチするのか分かりません。もう少し説明します。ヒントありがとう – Dribel
いいえprobです。さて、あなたは応答ステータスを確認するために行ったのと同じ方法で行うことができます。また、応答は 'jsonp'であるためです。次に、ダミー関数を使って結果を解析して、結果が有効かどうかを調べることができます。 –