Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

TestCaseその3

テスト対象のファイルをどう取り込むか?
それが問題だ。
考えてみる。

名前から割り出す

テストケースの名前がFooTestであればFoo.jsを自動で取り込む。
これだと複数のライブラリに依存してるケースで破綻。
ダメ。

import文のようなものを書く

以前からも言ってるんだけどテストケースのjs自体がテスト対象を知ってればいいので

importScript('test.prototype');
importScript('test.Hoge');

が自動で取り込まれてれば素敵だと思う。
これなら複数呼べますし。

テストケースにどのライブラリをテストするか、依存しているか書く。

うーん。なんかやだ。

設定ファイルに書く

論外。

で以下が候補

  • import文のようなものを書く
  • テストケースにどのライブラリをテストするか、依存しているか書く。

で「import文のようなものを書く」案で一応実装済み。
なんでかっていうと「import文のようなものを書く」のパターンは後々応用範囲が広がる可能性高いので。
(最終的にS2Saoとかでも使えるようになればいいかも)

以下イメージ
import対象は

xxx.xxx.Target.js

var a = "TEST_1";
var b = "TEST_2";

となっています。

FooTest.js

//javascript loader
loadScript("xxx.xxx.Target");

java.lang.System.out.println(a);
java.lang.System.out.println(b);

function testFunction1(){
	assertEquals(a, "TEST_1");
}

function testFunction2(){
	assertEquals(b, "TEST_2");
}

aとbはxxx/xxx/Target.jsに記述されてるので"TEST_1"、"TEST_2"と問題なく出力されます。
assertで比較。
グリーンバーです。

すでにある改善案

  • jsを探しに行くRootのパスを指定できるようにする

多分これはあった方が良い機能だと思う。
個人的には
http://www.openlaszlo.org/jira/browse/LPP-1940
を満たせれるんじゃないかな?と思う。
まー触ってみてください。
追記
意味のわからんテストコードだったので修正しました。

うくく。