2017-02-21 4 views
1

20回のテストを経てCRUDアプリケーションを構築しました。 EJSを使用してビューをレンダリングしていますが、今ではテストに問題があります。MochaでEJSを使用してレンダリングビューをテストする

簡単な例としての私がGETリクエストをJSONはそうres.json({message:'hello'})のように送信されることを'/'に送信されたときに、私はそのres.body.messageようモカで私のテストを設定することができることを確認するためにチェックしていたとしましょう「こんにちは」と同じです。

しかし、JSONを送信する代わりにindex.ejsページをレンダリングする場合はどうすればよいでしょうか。したがって、res.render('index',{message:'hello'})のようになります。どうすればres.render()をテストできますか?より具体的には、res.render()に渡されたオブジェクトをどのようにテストできますか?

EDIT:この問題(およびこの種の問題)を解決するが機能試験呼ば試験パラダイムを使用することによって解決することができます。それはGoogleです。

答えて

1

http をテストするには、を取得することは、本質的にルートをテストする必要があると理解することができます。 したがって、テストにはexpect句(ルートの検索時に期待されるもの)と、この場合はJSONオブジェクトを検証するレスポンスが含まれている必要があります。モカを使用して

、あなたは「supertest」に対するHTTPリクエストを実行するには、サーバーを必要としているため、ノードパッケージはにあなたの「server.js」を開始するために使用される

​​

としてテストを記述することができますサーバーを初期化し、要求(サーバー)でテストします。

チェックthis - GitHubリポジトリには、この要件の完全なテストテンプレートがあります。返されたJSONオブジェクトもテストされています。

+1

このリンクは質問に答えるかもしれませんが、回答の重要な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](レビュー/低品質の投稿/ 16596394) –

+0

Thanks、Patrick!質問のEDIT部分はどういうわけか、私の熱意が完全に消えてしまったので、質問者が本当に答えを探しているのかどうかは分かりませんでした。 – user2347763

+0

@PatrickHund私の編集があなたのレビューの心配を満足させているなら、-1のダウンボートを削除してください – user2347763

関連する問題