yamachan Ajax/.NET/C# メモ

2007-02-17

[TALK] JS関数の簡単な管理/デバッグ法

Java 等の開発では JUnit のお世話になっている僕なので、JavaScript でも似たようなことをやっています。 参考になるか不明ですが、ご紹介してみましょう。

まずは aptana で関数用に適当なhtmlファイルを作成し、以下のようにシンプルなテスト用の関数を定義しておきます。

渡す引数はラベル、評価する値1、評価する値2 となります。 値が違った場合に限り、ラベルを使用してエラーメッセージを表示する仕組みです。

<script>
function jsUnit(l, v1, v2) {
if (v1 != v2)
document.writeln(l+": "+v1+" != "+v2);
}
</script>

このhtmlの中に、以下のように関数をいろいろ定義していきます。

<h2>jp.rinco.parseURL(url, name, value)</h2>
ここに関数の説明
<script>
jp.rinco.parseURL = function(url, name, value) {
...実際の関数のロジック
}

jsUnit("1",jp.rinco.parseURL("","a","d"),"d");
jsUnit("2",jp.rinco.parseURL("a=b","a","d"),"b");
...
</script>

で、実際のテストは、このhtmlをプレビューしてみるだけです。 全部の関数がチェックされ、問題のある関数のセクションにはエラーメッセージが表示されるハズです。

jsUnit はできるだけ多くのパターンを登録しておきます。 関数のロジックはhtmlに直接記載せず、実際の js ファイルを読み込むようにしても良いでしょう。

ちょっとした工夫ですが、関数の管理が楽になり、かつクオリティを保つことができます。 コメントを書いておけば、そのままマニュアルがわりにもなります。 お手軽な開発には、わりとお勧めな方法です。