TestCaseその3
テスト対象のファイルをどう取り込むか?
それが問題だ。
考えてみる。
名前から割り出す
テストケースの名前がFooTestであればFoo.jsを自動で取り込む。
これだと複数のライブラリに依存してるケースで破綻。
ダメ。
import文のようなものを書く
以前からも言ってるんだけどテストケースのjs自体がテスト対象を知ってればいいので
importScript('test.prototype'); importScript('test.Hoge');
で
- test/prototype.js
- test/Hoge.js
が自動で取り込まれてれば素敵だと思う。
これなら複数呼べますし。
テストケースにどのライブラリをテストするか、依存しているか書く。
うーん。なんかやだ。
設定ファイルに書く
論外。
で以下が候補
- 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
を満たせれるんじゃないかな?と思う。
まー触ってみてください。
追記:
意味のわからんテストコードだったので修正しました。
うくく。