Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-Android- Maxima on Androidのテスト自動化 (2) Junit

f:id:jurupapa:20130922162450j:plain

慶應大学三田キャンパス

 

Android SDKJunitAndroid向けに拡張したテストフレームワークをサポートしています。ロジックテストはこのフレームワークの中の基本部分を使うことで記述することができます。

 

具体的には、Eclipse開発環境でAndroid testプロジェクトを選択して、プロジェクトを作成します。この中でjunit.framework.TestCaseというクラスをimportしてサブクラス化し、これにテストケースとなるメソッドを追加して行きます。

テスト開始時にsetup()というメソッドが呼ばれます。その中でmaximaプロセスを生成し、適当なインスタンス変数に代入しておきます。各テストメソッドではこのmaximaプロセスと通信して処理を進めます。

 

例えば、maxima-init.macが正常に読み込まれているかどうかのテストでは、この中で定義した関数を呼び出して、エラー無く計算結果が返ってくれば合格と判断します。

 

maximaには多くの追加パッケージがあり、マニュアルにも記載があります。それらのパッケージ(合計76個)について読み込みがうまくいくことを確認する、というテストも実装してあります。

 

現在、このようなテストをメソッドを15個くらい定義しています。何か変更を加えたら、テストを実行してデグレを防ぐことができるようになりつつあります。