2

現在、テストツールのユーザー受け入れテストとしてfitnesseを確立しています。これまでのところ、すべてが良好です。Java バージョン「20091121」を使用しています。4 よりも深いフォルダで問題が発生しています。

次のフォルダー構造をセットアップしました。

設定

テストスイート

content.txt + properties.xml (中身は「!contents」のみ)

ユースケース2204

content.txt + properties.xml (中身は「!contents」のみ)

SingleRequest02

content.txt + properties.xml (中身は「!contents」のみ)

ポジティブテスト

content.txt + properties.xml (中身は「!contents」のみ)

一人の大人と子供

18 個のフィクスチャ テーブルを含む実際のテスト用の content.txt + properties.xml

フィットネスを起動して一番奥のフォルダ(「OneAdultWithChild」)に移動すると、ページが表示されるまで約10秒かかります。ここで、コンテンツを 1 つ上の階層レベル (「PositiveTest」) に移動すると、ページのレンダリングに 3 秒かかります。テスト内容を第 2 レベル ("UseCase2204") に置くと、ほぼ瞬時に表示されます。

テストの実行中に同じ動作が発生します。「テスト」ボタンを押した後、テストは次のように行われます。

  • 第 2 レベル: 12 秒
  • 第 4 レベル: 14 秒
  • 第 5 レベル: 40 秒! (さらに、「結果キャプチャ」ボタンが表示されるまでに時間がかかります)

今、私はこれで立ち往生しています。すべてのテストをグループ化するには、この深くネストされた構造が必要です。しかし、解決策や回避策がない場合、fitnesse を使用することはできず、私はフレームワークを宣伝するための大きな馬鹿になります。過去にフィットネスで良い結果が得られましたが、これらの深く入れ子になった構造はありませんでした。

4

4 に答える 4

1

これについて FitNesse の管理者に連絡してみましたか? それがあなたの最初の行動方針であるべきです。ここに彼らの「ヘルプ」リンクがあります: http://www.fitnesse.info/help .

それまでの間、可能であれば、フィットネスのプロファイリングを試すことができます。その時間のほとんどが 1 つまたは 2 つの場所で費やされ、適切な回避策が見つかる可能性は十分にあります。これはオープン ソース プロジェクトであるため、コードを簡単に確認できるはずです。したいならとにかく。

更新:ちょっと考えただけですが、テスト階層は NFS マウント上にありますか? 「実際の」ディスクで実行してみてください。

于 2009-12-22T11:23:43.237 に答える
1

そのため、いくつかのプロファイリングを行いました。ページをロードするための 40 秒 (実行ではなくロードのみ) の主な時間は、次の方法で費やされます。

  • fitnesse.wikitext.widgets.WidgetRoot.render
  • fitnesse.wikitext.widgets.WidgetRoot.getVariable
  • fitnesse.wiki.PageData.initializeVariableRoot
  • fitnesse.wikitext.widgets.VariableWidget.doRender

それは変数置換ロジックのように継ぎ目+ウィジェットのレンダリングが常に使用されています:(

特に、fitnesse.wikitext.widgets.VariableWidget の「private void doRender()」は頭痛の種です。複雑さについて不平を言うコメントがあり、これはすべてリファクタリングする必要があります。

ここを参照

http://github.com/lvonk/fitnesse/commit/a7242991039970d769db681afa2336285700d421#diff-10

私には、現時点では行き止まりのように見えます。ドイツ/ヨーロッパで現在進行中の最大のITプロジェクトの1つである、非常に大きなプロジェクトにfitnesseを使用します. しかし、そのような基本的なものが十分に速く動作しない場合、これを販売することはできません:-/

私はまだ誰かが修正を知っていることを望んでいます。そうでなければ、クリスマスにコードを掘り下げて、少し速くする必要があります。

コメントを削除した新しいバージョン (2009-11-25) が git ハブにあり、コードのいくつかの行も変更されていることに気付きました。やってみます.....

高く評価される

乾杯マルセル

于 2009-12-22T15:31:21.493 に答える
0

ダン、

ご回答有難うございます。これは、yahoo Fitnesse グループに投稿したものです。

こんにちは、

ウェブサイトからリリース「20100103」をダウンロードして、同じセットアップで試してみました。大きな改善!私はこれについてとても幸せです。これで、初期設定を続行して、うまくいけば全員に納得してもらうことができます。

テストの実行中にもパフォーマンスの向上が見られます。非常に良好です。トップレベルとネストされたテストの間に大きな違いはもうありません。

システムの残りの部分が同じように動作することを願っています:)

迅速な助けをありがとう。最初のセットアップが完了し、人々 (開発者とテスター) が作業を開始した後、私はより多くのフィードバック (または問題 ;-)) を持って戻ってきます。

乾杯マルセル

于 2010-01-19T12:21:21.237 に答える
0

これは特定の解決策ではないかもしれませんが、現在調査中の 1 つのウィジェット レンダリングの問題に対する修正があります: http://www.pivotaltracker.com/story/show/2200962

パーサーをより効率的かつ機能的にするためにやり直すという話もありますが、それはかなりの努力です。その作業がいつ開始されるかはわかりません。

于 2010-01-15T16:22:07.377 に答える