2

Nodeunitを使用してバックボーンモデルをテストしようとしていますが、後で他のコンポーネントもテストしたいと思います。私がNodeunitを使用している主な理由は、サーバーテストですでにNodeunitを使用しており、1つのテストフレームワークを使用したいからです。

これは良い考えですか?単体テストを設定するための実行可能な試みを1回行いましたが、アンダースコアライブラリとバックボーンライブラリを要求しようとすると失敗します。

Error: Cannot find module 'underscore'

これにnodeunitを使用することは可能ですか?そうでない場合、Backboneアプリをテストするための推奨される単体テストフレームワークは何でしょうか?

4

1 に答える 1

0

おそらく、NodeUnitテストランナーのhtmlにRequireJS構成を含めていません。または、そうである場合は、NodeUnitが同じ方法で動的コンテンツを提供していない可能性があります。私は以前にそれを使用したことがありませんが、私はジャスミンで同様の問題に遭遇しました。

ジャスミンのアプローチでは、私は次のようなことをしなければなりませんでした:

# coffeescript #
TEST_ENV = (typeof window['jasmine'] == 'object')
prefix = if TEST_ENV then '/public' else ''
baseUrl = prefix + '/javascripts'

jasmine-gemの世界(レール内)では、/publicフォルダーは実際の/publicルートから提供されます。(通常のrailsサービングは、/ publicフォルダーが実際にはルートルートであると想定します。)したがって、このコードはテストコンテキストをチェックし、baseUrlに/publicプレフィックスを追加します。次に、requireJS構成で、このbaseUrlを割り当てます。

これは、NodeUnitで発生しているのと同じ問題である可能性があります。

これを設定する方法、および特別なRequireJS + Jasmine統合の詳細については、ブログ投稿を参照してください。

于 2012-07-29T03:42:42.993 に答える