2016-03-29 9 views
1

Backbone.jsビューをテストします。かなり一般的なビューメソッド(テンプレートの取得、モデルデータの取得、HTMLのレンダリング)はすべて、私のビューのほとんどがベースビューに格納されます。バックボーン - テストビュー - ベースビューの処理方法

質問1:テストするビューとベースビューが分離されているため、これは、ベースビューのテストでこれをカバーする必要があるため、ビューのレンダリングメソッドをテストする必要はありませんか?または、私はすべてのビューのレンダリングメソッドを、たとえこれがベースビューで定義されたメソッドに落ちたとしても、2つが一緒に遊ぶ方法をテストする必要がありますか?

質問2:ベースビューをどのようにして単独でテストできるかわかりません。他のビューがそれを拡張している場合は、ベースビューを動作させるためにテンプレート名を設定する必要があります。私はテンプレートを模倣するか、このビューを抽象クラスのように扱い、分離してテストすることはできませんか?

答えて

1

免責事項:テストは芸術ですが、明らかな「最良の」回答はありません。しかし、ここで私は何をするでしょう:

  1. 私はすべてをテストします:ベースビューとすべての継承ビューをテストします。結局、あなたの継承しているビューがベースビューと同じレンダリングメソッドを共有していることをどうやって知っていますか?プロジェクトの進化に伴い、継承したビューが変化することがありますが、すべてのビューが常にレンダリングされていることを確認したいことがあります。

  2. アプリケーションでどのように使用していない場合でも、ベースビューを独自のインスタンス化オブジェクトとしてテストします。ベースビューを機能させるためにテンプレートを設定する必要がある場合は、テンプレートを設定してください!テンプレートを "模擬"する必要はないと思います。おそらくunderscore's _.template functionを使用できますか?

+1

お返事ありがとうございます。私はなぜそれほど混乱しているのか理解しているので、テストはアートが本当に助けてくれたことを指摘します。ある種のポイントの後にはっきりとした「正しい」または「間違った」ものではないようです。 – Sven

関連する問題