初めは quotereporter.rb の例を学習するとよいでしょう。
他のサンプル も見てください。
その中に “flow tracing” の例があります。以下でこれを起動できます。
ruby -I lib examples/flowtracing.rb
これはそれぞれのparticipant に着いたトレースを標準出力に表示します。
次のステップは”ft_”で始まる名前のユニットテストを見ることでしょう。これらはプロセスエンジンの様子を全て表示します。
もし専門用語を忘れたら、 glossary を見てください。
Note : OpenWFEru は MacOSX (ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-darwin8.8.3] この環境は Hivelogic のDan Benjamin に教示していただきました)で開発・テストしています。
Rake のしきたりに沿って、以下のようにユニットテストを走らせることができます。
rake test
ある程度時間がかかります (私のマシンではおおよそ400秒)。それは’cron’, ‘sleep’, ‘when’,またはスケジューラーに関する時間に関係したテストを含んだ全ての テストが実行されるからです。
もしもっと早く実行したいなら (たぶんあなたがソースの変更を伝える後でしょうけど), 以下のように。
rake qtest
これは test/rake_qtest.rb にリストアップされているテストのみを実行します。これだと 22 秒です(私のマシンでは)。
rake でテストを実行するごとに、最新の engine.log にテストの実行ログ(完全なデバッグログを含む)が出力されます。これはテスト・デバッグ中のあなたのベストフレンドです。
OpenWFEru はワークフロー / BPM エンジンなので, 永続という要素はとても重要です (平均的なビジネスプロセスは長く続き、リスタートで生き返らないといけません)。
rake_qtest.rb にある永続モードのテストを全て実行するには…以下です。
rake ptest
このテストの永続モードはキャッシュを使わないことに注意してください。これは完成品ではなくテスト版という意味で、.つまりexpression がテストされた永続的なタイミングで全てのエラーが表示されるということです。’ptest’ を実行すると, 全ての ‘ft_’ のテストはこの何もしていない永続モードで実行されます。
一度に一つのテストを実行するには…。
rake test TEST=test/ft_2_concurrence.rb
同じテストを永続モード (FlowTestBaseの拡張機能です) で実行するには…。
rake ptest TEST=test/ft_2_concurrence.rb
‘test’ を ‘ptest’ に変えるだけです。
また、”CachedFilePersistenceEngine”(インメモリーくらい速く永続化するエンジン)用のテスト一式もあります。
これをテストするには…以下です。
rake ctest
OpenWFEru エンジンのコンフィグ方法を示す. テンプレート があります。これにはたくさんのコメントがあります。
OpenWFEru エンジンのちゃんとしたセッティングをするためにこのテンプレートをコピーして修正することができます。
(続く)