2012-04-26 11 views
2

Visual Studio 2008 Professionalでは、(native vs studioフレームワークとウィザードを使用して)メソッドのユニットテストを作成すると、生成されたテストファイルスタブがテストのルートディレクトリに保存されますプロジェクト。生成されたユニットテストファイルのディレクトリを変更します

後でテストファイルをサブディレクトリに移動すると、同じクラスの他のメソッドのテストスタブをさらに作成することはできません(ルートに新しい空のファイルが作成され、自動的に失敗します)

テストプロジェクトでメインプロジェクトと同じフォルダ構造を使用するように変更するにはどうすればよいですか。クラスが例えばproject-root\model\xyz.csの場合、対応するテストクラスは自動的にtestproject-root\model\xyzTest.csに生成されますか?


は、編集:

瞬間を追加し、これは、Visual Studioで未解決のバグのようです。以下の答えに記載されている回避策に加えて、別の方法として、それぞれのテストクラスファイルを移動した後に自動生成されたテストクラスの名前を変更する方法があります。その後、Visual Studioは、少なくとも静かに失敗しませんが、別のテストメソッドを生成するときに、ルートフォルダにある古いテストクラスファイルを再作成し、そのテストメソッドをコピーして正しいファイルにコピーすることができます。

答えて

1

私はあなたの問題を確認しました。移動したファイルのテストを追加すると、ファイルの最初の2行が生成されました。

私は、サブフォルダをどのように追加するかを知るための方法を知りませんが、同じ名前の2番目のクラスを生成しようとするとエラーが発生します。 (私はあなたがテストファイルの名前を変更しても、この問題を抱えているかもしれないが、根本に残しておくと思いますが、私はこのアイデアをテストしませんでした)

私はそこにとにかくウィザードを続行したい場合ルートに移動し、ウィザードを使用して、それを右に戻すことができるはずです。それは私が考えることができる最良の選択肢です。

私はテスト能力を大幅にVS2010で改善された、私はそれを使用しますが、多分、そのバージョンのためにそれを修正していないと思っています...

This answerは、サードパーティのコードテンプレートを使用して、ソリューションを提供しています。

0

移動または名前を変更すると、メインプロジェクトからdll、exe、またはマニフェストを含めることになります。

別のフォルダに入れるのではなく、別のプロジェクトにしたいと思うようですね。

フォルダをどのように配置したら、テストプロジェクトの参照を右クリックし、[参照の追加]をクリックします。 "Browse Tab"をクリックし、メインプロジェクトを探し、bin/Debugフォルダに移動し、適切なdllまたはexeを選択します。

これはもちろん、メインプロジェクトを最初にコンパイルできることを前提としています。ソースプロジェクトのみをコンパイルするには、ソリューションエクスプローラで右クリックし、[ビルド]または[新しいインスタンスのデバッグ/開始]をクリックします。

うまくいけばうまくいくはずです。私は願っています:p。

関連する問題