[Openlaszlo-i18n 56] Re: 実装後のテストについて

Back to archive index

Yoshihiro ICHIYANAGI ichan****@im*****
2005年 10月 2日 (日) 05:40:40 JST


おはようございます。

> XDocletの書き方もメッセージとLaszloMessageクラスからの取得が1:1なので
> 
> //@i18n.test.org-msg="TEST MESSAGE {1}"
> LaszloMessage.getMessage("test_message",Params);

TOGさん、ちょっとrubyでですがつくってみました。

original source側は

// @laszlo-18n.test.begin
// org-mes: "LPS requires a servlet container" +" that can implements ServletContent.getRealPath()"
		respondWithInitError(req, res, LaszloMessages.getMessage(PREFIX_NAME, 
									"must_upper_ver2.3"));
// @laszlo-i18n.test.end

とコメントしてあれば

package org.openlaszlo.i18n.test;

import junit.framework.TestCase;

public class LaszloMessagesTester extends TestCase {

    public LaszloMessagesTester() {
        super(LaszloMessagesTester.class.toString());
        // TODO Auto-generated constructor stub
    }

    public LaszloMessagesTester(String name) {
        super(name);
        // TODO Auto-generated constructor stub
    }

    protected void setUp() throws Exception {
    }

    public void testLaszloMessages(){
        asserts("LZServlet-1",
            "LPS requires a servlet container" +" that can implements ServletContent.getRealPath()",
            LaszloMessages,getMessage("org.openlaszlo.servlets.LZServlet", "must_upper_ver2.3"));
    }
}

を自動生成します。
#だたしまだ多少のソース修正をしないとコンパイルは通りません
#またmessageの数に比例してtestLaszloMessages()メソッドが肥大化していきます

このようなgeneratorの利点は、
1.original messageとpropertiesファイルとのメッセージチェックが行える
2.コピペと同じなので、実装された生source codeの稼動チェックが行える
3.コメント生成規約が生ずるため、かならずoriginalのmessageを残すようになる

あと、もしLaszloMessages.getMessage()の実装はしたけど、コメントを書き忘れた
ということもあるので
"//@laszlo-i18n.test.begin"と"LaszloMessages.getMessage()"の
出現数をカウントしてそれが一致していればOK
みたいなチェックもしてくれることです。

#XDocletの方が正道だと思います、がちょっと大変そうです (^^;
#コメントをもうすこしXDoclet風にしといた方がカッコイイかもしれませんね
#XDoctletへの移行も考慮して

ichan



Openlaszlo-i18n メーリングリストの案内
Back to archive index