2009-05-13 7 views
0

私は自分の開発サーバー上で実行する約20のテストのスイートを持っています。私は、Alphaサーバーに切り替えて、同じ20のテストを実行する簡単な方法をお勧めします。しかし、毎回すべてのサーバーで実行する必要はありません。一般的に私はDevでテストを実行し、すべてが緑で、Alphaにロールコードを付け、テストを実行します。Devでの多くの反復、Alpha上でのいくつかの反復、そして理論上はスタック上のすべてのサーバー上でReleaseまで実行されます。Nunitの設定を使用してテスト動作を変更することは合理的ですか?

これは、TestFixtureの変数を使用して行われます。それは大丈夫ですが、環境を変えたいときはいつでも再構築が必要です。しかし、私はConfigurationsのメニューを見ました。私はこれが使いやすいと思っていました。各環境に構成を追加し、その構成をポイントし、テストを実行し、正しいサーバー上で実行します。環境の名前が対象となるテスト環境の名前と一致しなければならないと仮定すると、そこに厄介なハードコーディングがあります。私はそれで生きることができます。

最初の質問:これを行うには良い方法はありますか? 2番目の質問:これも可能ですか?私はTestFixtureレベルでそれらの設定を読む方法を見つけることができません。

+0

テストフィクスチャの変数を変更することでどのような変化がもたらされますか?なぜテストは環境を気にしていますか? – Gishu

+0

@ Gishu:私が取り組んでいるショップには、ばかげた量のデプロイメントに関する問題があります。改善が見られますが、それは私のドメイン外です。フードチェーンの次のサーバーに展開し、新しいコードが動作しないことがよくあります。問題の追跡には時間がかかることがあるので、これらの単体テストは、新しいサーバー上の問題として中間/データ層を排除する方法です。確かに行く最善の方法ではありませんが、私はできることをやります。 – jcollum

答えて

1

標準の.NET構成ファイルを使用してください。 Appsettingsまたは構成要素。どんなdll(テストを含む)でもそれらを読むことができます。例えば。 mytest.dll.config for mytest.dll、これは、SQLサーバーなどの外部依存関係がある「コンポーネント」テストまたは「統合」テストで行います。テストでは、サーバーがどこにあるかを知る必要があります。

単体テストに必要な注意:受け入れテストまたは統合テストについて話していることに注意してください。貴重ですが、維持してゆっくりするのは費用がかかります。それらの数はごくわずかである必要があります。さらに、ユニットテスト(サーバーの場所に関係なく)がさらに必要です。

+0

私はそれが私のTestFixtureの文字列値を変更するのと同じことになると思います。 Re:第2のポイント:私はここで膨大な数のデプロイメント問題に取り組んでいますが、これらのデプロイメントバグでどれくらいの時間を費やすか分かるようになるまで、これらのユニットテストは対処方法です。 – jcollum

+0

私の店(ほとんどの人はそうだと思います)は、別のビルドを再コンパイルすることを検討します。ビルドを検証するためのテストがあります。私はまったく同じコードで正確に同じテストを実行したい。それを簡単に変更することが問題であれば、MSビルドのコミュニティタスクによっては設定ファイルを更新できます(もちろんNUnitを実行できます)。 – Precipitous

関連する問題