無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

YUI Test

YUI TestはxUnit風のテスティングフレームワークです。xUnitを使ったことがあれば、簡単に使えます。

サンプル:

// YUILoaderでYUI Testをロード
var loader = new YAHOO.util.YUILoader();
loader.require("yuitest");
loader.insert(function() {

    // テストケース
    var test = new YAHOO.tool.TestCase({

        // テスト名
        name: "TestTest",

        // 前準備、後始末。
        setUp    : function () {
            YAHOO.log( "setup." );
        },
        tearDown : function () {
            YAHOO.log( "tearDown." );
        },

        testBasic: function(){
            // YAHOO.util.Assertに各種アサートメソッドが用意されている。
            YAHOO.util.Assert.areEqual("a", "a");
        },
        testEx: function(){
            throw new Error(); // 例外が発生したら失敗。
        },
    });

    // TestRunnerでのテスト実行結果をYahooのLoggerで表示する設定。
    // TestRunnerでのテスト実行前に行うこと。
    new YAHOO.tool.TestLogger();

    // テストをTestRunnerに追加して実行
    YAHOO.tool.TestRunner.add(test);
    YAHOO.tool.TestRunner.run();
});

確認はこちら

気になるところ
  • テスト結果の表示機能が貧弱。
    • 緑のバーはなくてもいいけど、エラーが発生したソースと行番号を表示して欲しい。(Firefox環境でErrorがスローされた場合、行番号はとれるはず。)
  • YAHOO.util.Assertを打つのがメンドイ。
    • グローバルな名前空間を汚さない姿勢は偉いと思いますが、もうちょっとなんとかならないかな。
    • TestCaseオブジェクトのメソッドにするとか
      • でもそれだと「this.areEquals(...)」とかになるのか。微妙。
    • サンプルにもあるとおり、一度ローカル変数にして使うのが一番マシかも。(var assert = YAHOO.util.Assert; assert.areEqual(...))