読者です 読者をやめる 読者になる 読者になる

自動化

次第に腐るテストコード

結論を最初に書くと、 テストコードを書くだけではダメで、デイリービルドなりCIしないと意味ないんじゃないっすか?という事です。 最近Hudsonを使っていてすごいいいなぁ、と思うのがこの画面。 「リグレッション」という表現はすごい的を射ているなぁ、と…

Hudsonに一目惚れ

CIをするための環境を調査。昔はCruiseControlとか、Continuousとか使っていましたが、かねがね噂を聞いていたHudsonを動かしてみた。今日TracHudsonPluginを見て動かそうと思ったんですけれども。これすごいですね。何がすごいって ダウンロードしなくてもJ…

Eclipse Pluginのテストを自動化するには(その10:JUnit4でも自動化できた)

とりあえずコンソール上からJUnit4でテストコードを書いたテストプラグインの実行がうまく行ったのでメモ。 バグレポート報告のページに添付されている『Eclipse Test Framework code』の方のパッチをEclipse3.3のテストフレームワークへpatch applyをする。…

Eclipse Pluginのテストを自動化するには(その9:JUnit4でも自動化する)

BugZillaを探したら、見つかりました。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=153429結構要望が多いらしく、パッチも作成されているので、それを使って環境を作成してみます。

Pluginのテストを自動化するには(その8:テストの自動化まででけた)

はい。一日かけて、さらに深夜におよぶ作業でしたが、なんとかテストの自動化まで終わらせることがでけました。事前調査によってJUnit4とリンクしたテストクラスが動作しないことが分かってたので、はまる時間が少し減ってよかった。(結局はまってはいたんで…

Pluginのテストを自動化するには(その7番外編:ECFプロジェクトのCIプロジェクト)

ECF(Eclipse Communication Framework)プロジェクトではCIツールにCruiseControlが使われているということをこのプロジェクトで知りました。(これまでは噂で聞いたことがあったくらいです。)READMEがしっかりしていた点と、自分自身の備忘録をかねてどの辺に…

Pluginのテストを自動化するには(その7:拡張ロケーションを使ってデプロイする)

今回テストプラグインのデプロイをする方法を考えてみたんですが、直接テストをするためにEclipseのインストールロケーションにプラグインを展開するのはためらわれます。テストの初期化時に毎回100MB近いEclipseの配布ファイルを解凍し、テストプラグインを…

Pluginのテストを自動化するには(その6-3:テストのビルド)

ということで、テストプラグインのビルドまでできるようになってきた。明日はテストプラグインをEclipseの実行環境にデプロイしてプラグインのテストをやってみよう。やっぱ、猿真似は大切だ。SpringIDEのビルドコードからいろんなものをコピペしてます。

Pluginのテストを自動化するには(その6-2-2:後日談)

ビルドのできなかった理由javacコマンドの実行時に与えられるソースバージョン、ターゲットバージョンとして1.6を与えていなかったという罠。また、現在のプロパティの設定ではLinux環境でしか動かないようになっています。 これらのバージョンはbuild.prope…

Pluginのテストを自動化するには(その6-2:ビルドの自動化)

ビルドに関しては自動化の目処がついたので、sourceforge.netにプロジェクトをコミットしました。まだコンパイルエラーが発生していて、実はPluginとして使えないけれど;-海外でもこのあたりの話が書かれているサイトが少ないのは、Eclipseは結構ドキュメン…

Pluginのテストを自動化するには(その6-1:どこまで自動化したいのか確認)

まだちょっとだけしかできません。へたれです。とりあえず今回の自動化で目標とするものについて触れておきます。これを見てみるとEquinox上で動くCIツールを作りたくなるなぁ。 最低限のレベル SCM(今回はSubversion)から落とすことができる 起動するとビル…

Pluginのテストを自動化するには(その6準備編:Eclipsepedia上の自動化資料)

調べてみるといろいろと見つかりますね。 Eclipsepedia:Release Engineering このページを参考にしつつ、SpringIDEのビルドプロジェクトを修正していくことで自分のプラグインのビルドを自動化し、その後テストも自動化できそうですので、この週末挑戦してみ…

Pluginのテストを自動化するには(その5番外編:有名どころのビルド自動化を探ってみる)

Subversionに対応したリポジトリからプラグインのリソースを引っ張ってきて自動ビルドをしているプロジェクトがないか探ってみたらありました。SpringIDEです。 現在リポジトリを移動中だそうで、Tracとうまく同期がとれていない状態ですが、以下のSubversio…

Pluginのテストを自動化するには(その5-2-2:Eclipseのビルドをしてみた:補足)

componentの指定の方法が分かりました。コマンドの中で -Dcomponent=[指定したいコンポーネントのフルパスを書く]を追加してください。Windowsだとフルパスを指定する必要はないかもわかりませんが、Linux環境だとフルパスを指定する必要がありました。コン…

Pluginのテストを自動化するには(その5-2:Eclipseのビルドをしてみた)

やっとこさビルドができましたよ。こんな感じでコマンドを打ちました。 java -jar ../org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar -application org.eclipse.ant.core.antRunner -DbuildDirectory=/home/kompiro/eclipse-buil…

Pluginのテストを自動化するには(その5-2:ビルドの自動化で泣いちゃうよ編)

まぁ、仕事あるのに調べながらやるのは大変だよ。えー、前回はEclipseの自動ビルド用のプロジェクトをCVSから落としてきました。で、ここ2,3日はreadme.htmlを眺めては泣かされているのです。まぁ、ドキュメントの更新は大変だよねー。で、readme.htmlを読ん…

Pluginのテストを自動化するには(その5-1:ということで、ビルドの自動化にも突っ込んじゃうよ)

まぁ、冬休みも終えたんで、のんびりとやらせてください。 プラグインのビルド自動化についての話はhttp://www.eclipse.org/articles/Article-PDE-Automation/automation.html:Titleが有名です。ちょっと前にはPluginbuilder - Build automation for Eclipse…

Pluginのテストを自動化するには(その4-2:eclipse-Automated-Testsのtest.xmlを見てみる)

今日はeclipse-Automated-Testsのtest.xmlを見てみます。 runtestsスクリプトでテストするターゲットを指定します。例として『ui』を指定した場合のスクリプトを見てみると 423行目から425行目にかかれ手います。 <target name="ui"> <runTests testPlugin="org.eclipse.ui.tests" /> </target> はい。runTestsってタスクは何?って思い…

Pluginのテストを自動化するには(その4-1:eclipse-Automated-Testsの中を見てみる)

さて、今日はeclipse-Automated-Testsを動かしてみるところをやってみました。 必要なもの ちょっと前に触れましたが、R-3.3.1.1のダウンロードサイトはこちらになります。また、直後でEclipse-SDKも必要になりますので、一緒に落としてください。 テストを…

Pluginのテストを自動化するには(その3のあとがき)

えぇと、前回ちょっとズルをしてみたんですが、気づかれましたかね。とりあえずコンソールから実行するために『-configurationや-devなどの指定はEclipseから実行したときのものをコピーしてきました』が、開発中のワークスペースをそのまま使って自動化する…

Pluginのテストを自動化するには(その3-2:テストクラスをHeadlessで動かす:後編)

さて、今日はeclipse-test-frameworkを使ってPluginのテストを実行してみましょう。eclipse-test-frameworkはEclipseのダウンロードサイトにあります。Eclipse Project Downloadsからテストを実行する環境のEclipseのバージョンを選びましょう。例えば2008/0…

Pluginのテストを自動化するには(その3:テストクラスをHeadlessで動かす:前編)

テーマ『Pluginのテストを自動化する』の第3回です。正月中に記事をまとめきろうとするのは精神上どうなのかと若干後悔。休めるときに休んどけという声もあるでしょう。でもやれるところまでやるよー! 世に出ている記事はeclipse-test-frameworkを使うとこ…

Pluginのテストを自動化するには(その2:テスト用のプラグインを作るには)

テスト用のプラグインを作るのは簡単なように見えますが、実は難解な作業です。本体のプラグインを必須プラグイン(Required-Bundle)に設定すれば一見クラスの参照関係が整うので、動作するように見えます。しかし、実際はプラグイン同士の依存関係が解決され…

Pluginのテストを自動化するには(その1:心構え編)

そもそもPluginのテストを自動化するためにはJUnit Plug-in Testで動作するテスト環境を構築する必要があります。プラグインのロジックのテストにはJUnit Testで充分やっていけるので、そちらでテスト環境を構築している方も多いと思いますが、Plug-inのテス…

Pluginのテストを自動的に行うには(その0)

この冬休み中にせっかくなんで何か連載物をやりたいと思ってみたんで、Pluginのテストの自動化をまとめてみるよ。テストの自動化もビルドの自動化もほとんど変わらないはずなので、そのあたりにもつっこんでいきます。