私の質問は、Mocha を使用した JavaScript コードの単体テストに関するものです。最終的に、これは依存性注入または制御の反転に関する質問になる可能性があります。私はこれらの概念をよく理解していません。
header.js のインスタンスを作成し、それがオブジェクトであることをテストするだけのテストを作成しようとしています。ただし、Modernizr をロードすると、テストが失敗し、次のエラー メッセージが表示されます。Modernizr がブラウザー内での実行に依存しているために発生しているようですが、私の単体テストはコマンド ラインで実行する必要があります。
/lib/modernizr.js:8
l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNod の "MozAppearance" ^ TypeError: /Users/devadmin/devenv/djscript で未定義のプロパティ 'parentNode' を読み取れません/djscript-vendor/lib/modernizr.js:8:6291
次の階層にあるrequirejsモジュールがいくつかあります。
lib
└── pj
├── module
│ └── header
│ └── header.js
├── util
│ └── header
│ └── Util.js
└── widget
└── header
├── Header.js
└── view
├── HeaderView.js
└── NavView.js
header.js は Header.js をインスタンス化し、次に HeaderView と NavView を作成します。Modernizr が必要なのは HeaderView のみです。
このコードをテスト可能な状態にする方法についてのヒントはありますか? requirejs で使用するために Modernizr をどのようにパッケージ化したかを確認することは役に立ちますか?