2009-08-01 7 views
2

私は自分自身にテスト駆動開発を習得しなければならず、今までは自分自身を楽しんでいます。 Visual Studio Unit Testingにはいくつかの欠点がありますが、それは私をひどく運転しています。Visual Studio 2008で単体テストをセットアップするときの簡単な "実行"

  • [ルート] BitFlex
  • BitFlex \コード
  • BitFlex \デバッグ
  • BitFlex \ドキュメント
  • BitFlex \リリース
:背景情報のビットは、私のプロジェクトフォルダは、次のようになります

もちろん、すべてのソースコードはコードフォルダに格納されており、ビルド時にはプロジェクト出力は現在の構成。テストプロジェクトが出力されますので、今、私のユニットテストのために、私はそれを設定しているのいずれか:

1 \

  • BitFlex \リリース\単体テスト\
  • BitFlex \デバッグ\ユニットテスト)この時点で、すべてが上品で素敵です。

    Error AssignDefaultProgramTest BitFlex.UnitTests The test assembly 'D:\src\DCOM Productions\BitFlex\Code\TestResults\David Anderson_DCOMPRODUCTIONS 2009-07-31 23_21_00\Out\BitFlex.UnitTests.dll' cannot be loaded. Error details: Could not find file 'D:\src\DCOM Productions\BitFlex\Code\TestResults\David Anderson_DCOMPRODUCTIONS 2009-07-31 23_21_00\Out\BitFlex.UnitTests.dll'. 
    

    私は、このエラーに関する情報を見つけることができないよう、またはどのように解決するには:2つの問題点、私はそれが私にこのエラーを与えるとして、それは、アセンブリを見つけることができませんテストを実行したときにということで最初がありますそれで、ここではみんなの経験が遊びに来るところだと思います。

    2)私の他の牛肉は、Visual Studioがコードディレクトリに「テスト結果」フォルダを生成しているので、どちらかの出力設定でUnit testsフォルダに移動することをお勧めします。これを行う方法はありますか?またはフォルダ階層を使ってうまく構成された単体テストを設定する方がよいでしょうか?

  • 答えて

    1

    デフォルトでは、MSTestingフレームワークはすべてのテストをバイナリディレクトリではなく、「隔離された」場所で実行します。 これを修正するには、次の2つのうちのいずれかを実行します。 1.テスト構成ファイルに移動し、デプロイメントの下でテストを展開します。 2.外部ファイルを探すときにパスを使用しないでください。代わりに、deploy属性またはtest configを使用して、必要なファイルをテストと共にデプロイします。

    +0

    いいえ、私のアセンブリはデプロイメントパスを提供することで見つかりました。さあ、うまくいけば誰かがTestResultsフォルダを動かす上でいくつかの光を当てることができます。 –

    1

    MSTestでTDDを実行する場合は、展開をオフにします。あなたは "ユニットテスト"のためにそれを必要とすべきではありません。

    また、VSが自動的にテストを自動的に生成することは決してありません。いくつかのタイプの機能テストでは、生成されるものがうまくいくかもしれませんが、通常は非常に貧弱な単体テストです。

    関連する問題