Chapter 6: Testing More Complex Code
2011/03/20(日) 23:41 Javascript親記事へこのエントリーをはてなブックマークに追加

Naming clashes

複数のjsファイルを読み込む時は名前の衝突が起きることもあるので名前空間の使用を勧める

Using JavaScript libraries

現在は多くのライブラリがあります。
JavaScriptライブラリは便利な機能を持っていることも多いですが、使うかどうかについて次のような視点も持つといいでしょう。
  • 利用可能なサポートのレベル、ドキュメント化されているか
  • チュートリアルやヘルプなどがあるか
  • プラグインやアドオンが利用できる
  • ビルトインでテストスイートがある?これはとても重要です

What sort of tests to run against library code

どんな種類のテストをやるの?

Performance testing

パフォーマンステストはその前の通りですが、Firebugといったブラウザに限定されたツールではなくほかのブラウザをカバーできるツールや方法が必要になるでしょう

Profiling testing

プロファイリングテストはパフォーマンステストに似ていますが、ボトルネックに注目します。
ボトルネックを改善することはパフォーマンスの向上につながります。

GUI and widget add-ons to libraries and considerations on how to test them

ライブラリの中にはUI系の機能を持ったものもあります。それをテストするのは難しく、簡単な方法は手動で視覚的に確認する方法です。
しかし、手動で確認するのは大変なのでGUIをテストする自動化ツールもあります。
Sahi http://sahi.co.in/w/ (Selemium的な感じ)
これについてはまた後で

Deliberately throwing your own JavaScript errors

JavaScriptのエラーや例外を投げる方法について

The throw statements

throw(exception);
// We can use throw(exception) in the following ways:
throw "This is an error";
// or:
throw new Error("this is an error");
という書き方でthrowできます。
throwは普段はtry, catch, finallyと一緒に使います

Trapping errors by using built-in objects

詳しくはこの辺を参照

The Error object

Errorオブジェクトは数値や文字列を引数にとることができます
new Error(1);
new Error("it must be a number");

The RangeError object

RangeErrorは数値が範囲外の時に発生します。使い方はErrorと同じで数値と文字列を引数にとれます。
new RangeError(1);
new RangeError("out!");

The ReferenceError object

ReferenceErrorは値やオブジェクトを参照するときにそれ存在していないときに発生します。
使い方は同じなので略

The TypeError object

TypeErrorは間違った型のアクセスをすると投げられます

The SyntaxError object

文法が間違ってる時

The URIError object

URLが不正な時

The EvalError object

evalが間違った使い方をされた時や内部でシンタックスエラーが起きてるとき

エラーはコンソールに出るので、ブラウザのコンソールを使いましょう

名前:  非公開コメント   

  • TB-URL  http://efcl.info/adiary/0108/tb/