7

NUnit テストの大規模なセットがあります。特定の実行からの結果をデータベースにインポートし、一連の結果を特徴付けて、ユーザーに提示する必要があります (テストの失敗については電子メールで、結果を調べるには Web プレゼンテーションで)。同様に、時間の経過に伴う複数の実行を追跡する必要があります (時間の経過に伴う失敗率を報告するためなど)。

XML は、nunit-console によって生成された XML になります。最小限の手間で XML をデータベースにインポートし、結果を永続化して提示するために使用できるようにしたいと考えています。同様に、並べ替えることができるようにする必要があるカスタム カテゴリがいくつかあります。

個々のニーズに合わせてカスタマイズできるこのタイプのデータのインポートを処理できるデータベース スキーマを知っている人はいますか? この種の問題は一般的であるように思われるため、一般的な解決策が存在するはずですが、見つけられないようです。誰かが以前にそのようなソリューションを実装したことがある場合は、アドバイスもいただければ幸いです。

4

7 に答える 7

4

CruiseControl.NETTeamCityなどのビルド サーバーを実際に使用しているように思えます。

ビルド サーバーにテストを実行させると、何が失敗したのか、その理由を人々に伝える役割を果たします。

TeamCity は、セットアップが数桁簡単であるため、お勧めします。

于 2009-04-23T17:36:52.683 に答える
2

私はここで同じ問題を解決しようとしています。現在、XML の結果を挿入ステートメントに変換する XSLT を作成する方向に傾いています。次に、コマンド ライン SQL インタープリターを使用して、insert ステートメントの結果のファイルを実行します。理想的には、これらすべてを処理する NUnit アドイン/拡張機能が必要です。残念ながら、私はそれを見つけることができませんでした。

于 2009-12-07T17:15:44.540 に答える
1

MS SQL を使用する場合、すべての XML を [xml] データ型の共通の列にインポートできます。これにより、xpath、検索、および変換を実行できます。

于 2009-12-08T10:18:28.837 に答える
1

CruiseControl または TeamCity に代わるもう 1 つの代替手段は、現金に困っている場合のAtlassians Bambooです。私はその使いやすさから彼らのソフトウェアの大ファンであり、10 ドルで竹を入手できる場所で契約を結んでいます。

于 2009-12-10T16:56:39.603 に答える
1

これを回避したいと考えていましたが、NUnit 結果の XML スキーマからデータベース スキーマを生成しました。ただし、NUnit はいくつかの (不正確で奇妙な) 処理を行って、いくつかの重要な統計情報 (たとえば、「無視」と「実行しない」など) を決定するため、少し不十分です。

結果をインポートするためのデータベースをカスタマイズできる、完全な CIT ビルド システムではないスキーマ/プロセスを見つけることをまだ望んでいますが、現在は手作業で作成されたデータベースを使用しており、これを行う必要があります。必要なレポートを取得するために多くのカスタマイズが必要です。

于 2010-05-21T20:07:18.017 に答える
1

IainMH の回答を構築するには、Trac をBITTENで使用することを検討してください。これはオープン ソースのビルド システムであり、n ユニット テストを実行して結果を報告できます。私は現在、その正確な機能のためにそれを使用しています。

于 2009-12-07T17:31:44.247 に答える
-3

結果をデータベースに保存する必要があるのはなぜですか? 誰がそれらを使用しますか? 失敗の数が多くなることはありません。(繰り返し)そうである場合、開発プロセスが間違っています。プロセスを修正します。無駄を排除し (無駄のない原則の 1 つ)、集めないでください。

より小さなステップ (より短いイテレーション、継続的なビルド) を取り、依存関係を排除します。

この種の問題があるプロジェクトは配信されず、(最終的には) キャンセルされるため、これは一般的に行われません。

[編集] マイケル、nunit の失敗を長期間にわたって追跡しても、価値はゼロです。短いフィードバック ループが必要です。今すぐ問題を修正してください。問題が山積みになるまで待っていると、騒音に圧倒されてしまいます。

適切な問題追跡は、適切な (可能な限り最高の抽象化) レベルで行われます。間違いなく単体テストではありません。

于 2010-05-19T20:14:42.993 に答える