2

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

後でテストファイルをサブディレクトリに移動すると、ウィザードを使用して同じクラスの他のメソッドのテストスタブをさらに作成できなくなります(ルートに新しい空のファイルが作成され、サイレントに失敗します)

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


編集:

ちょっと待ってください。これはVisualStudioの未解決のバグのようです。以下の回答で説明されている回避策に加えて、別の可能性は、それぞれのテストクラスファイルを移動した後、自動生成されたテストクラスの名前を変更することです。次に、Visual Studioは少なくともサイレントに失敗しませんが、別のテストメソッドを生成するときに、ルートフォルダーに古いテストクラスファイルを再作成します。その後、そのテストメソッドを正しいファイルにコピーして貼り付けることができます。

4

2 に答える 2

1

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

ウィザードは、サブフォルダーを調べてどのファイルに追加するかを知る方法を知らないと思いますが、同じ名前の2番目のクラスを生成しようとするとエラーが発生します。(テストファイルの名前を変更してもルートのままにしておくと、この問題も発生すると思いますが、このアイデアはテストしませんでした)

ですから、ウィザードを使い続けたいのであれば、とにかくその周りにはないと思います。ルートに移動し、ウィザードを使用して、右に戻すことができるはずです。それが私が考えることができる最良の選択肢です。

VS2010ではテスト能力が大幅に向上したと思います。使ったことはありませんが、そのバージョンで修正されたのかもしれません...

この回答は、サードパーティのコードテンプレートを使用した解決策を提供します。

于 2012-05-05T03:38:17.620 に答える
0

フォルダを移動または名前変更するときに行う必要があるのは、メインプロジェクトからdll、exe、またはマニフェストを適切に含めることだけです。

別のフォルダだけでなく、別のプロジェクトにも入れたいようですね。

フォルダを希望どおりに配置したら、テストプロジェクトの参照を右クリックし、[参照の追加]をクリックします。[参照]タブをクリックしてメインプロジェクトを見つけ、そのbin / Debugフォルダーに移動して、適切なdllまたはexeを選択します。

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

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

于 2012-05-05T02:35:52.017 に答える