Visual Studio 2008の組み込みユニットテストフレームワークを使用して、C#WinFormsアプリケーションのTDDに慣れさせています。このアプリケーションは独自のイメージデータ形式で動作し、サンプルファイルをコンポーネントのセクション(ヘッダー、メタデータ、単一フレーム、すべてのフレームなど)に分割してテストできるようにしました。私のテスト方法のいくつかは同じデータチャンクを使用していますが、「すべてのテストをソリューションで実行する」オプションを選択した場合、同じデータチャンクを使用するテストは "System.IO.IOException"で失敗します:プロセスがファイル 'datachunk.dat 'それは別のプロセスで使用されているためです。これらのテストは、個別に実行されるときに実行されます。 Visual Studioにこれらのテストを同時に実行しないように指示する方法はありますか、それとも間違った方法で行っていますか?同じファイルリソースを使用したVisual Studio 2008のユニットテスト
1
A
答えて
1
テストが必要になる前に、「チャンク」をロードするには、intializeメソッドを使用します。その後、テスト全体で同じ "チャンク"を何度も再利用することができます。
ロジックを独自のメソッドにカプセル化し、メソッドのヒット間でリーダーを破壊することもできます。
平和とグレース、 グレゴリーA.ビーマー
0
TestInitialize
関数で1度読み、フィールドに読み込むので、クラス内のすべてのテストで使用できます。
+0
TestInitializeによって引き続き問題が発生することがあります。 ClassInitializeは、複数のテストで使用される「静的な」情報に適しています。 –
0
私はいくつかのことを提案することができます。ファイルが開かれたときにフラグを変更することができるかどう
- チェックを。効果的に読むために共有として開くべきです。
- ファイルの完全な内容をバイト配列に読み込み、テストでソースとして使用します。それはあまり変わっていません。
- 共有リソースとTestInitializeを使用します。
関連する問題
- 1. Visual Studio 2008 Standardのユニットテスト
- 2. Visual Studio 2008/Visual C++ 2008 Expressを使用したCの学習
- 3. Visual Studio Expressを使用したSilverlightユニットテスト
- 4. のVisual Studio 2008のユニットテストとNUnitの
- 5. チェックインポリシー付きの同じTFS 2008プロジェクトでVisual Studio 2010と2008を併用する
- 6. Visual Studio 6とVisual Studio 2008を同じマシンにインストールできますか?
- 7. Visual Studio 2008:同じプログラムの2つのバージョンを公開する
- 8. Visual Studio 2008のインラインビルドSQLサーバーを使用
- 9. 相対パスのファイルを使用したVisual Studioユニットテスト
- 10. Visual Studio 2008ランタイムライブラリの使用法のアドバイス
- 11. Visual Studio 2008でMySQLを使用
- 12. Visual Studio 2008でjsoncppを使用する
- 13. Visual Studio 2008 IDEでflexunitを使用
- 14. Visual Studio 2008とSilverlightでSQLiteを使用
- 15. Visual Studio 2008を使用したスマートデバイスへの展開
- 16. Visual Studio 2008を使用したWebアプリケーションのリモートデバッグサーバー側
- 17. Visual Studio 2008を使用したC++/CLIプロジェクトのClickOnceデプロイ
- 18. Visual Studio 2008のCUDA用Intellisense
- 19. Mono for Android - Visual Studioを使用したユニットテスト
- 20. Visual Studio 2013でHttpClientを使用したユニットテスト/統合テストWeb API
- 21. Visual Studio 2008 Expressを使用したソースによるダンプ解析?
- 22. Dojo/Dijitを使用したJavascript IntellisenseはVisual Studio 2008です
- 23. C#visual studio 2008のwrite_textメソッドのユニットテストですか?
- 24. ユニットテストVisual StudioのTypescript
- 25. Visual Studio 2008テストセット
- 26. visual studio 2008テーマ
- 27. Visual Studio 2008 SP1:
- 28. Visual Studio 2008ヘルプシステム
- 29. Visual Studio 2008クラスダイアグラムデザイナ
- 30. C#、Visual Studio 2008
ところで、チャンクでシングルトンを設定し、最初に使用するときに「初期化」することができます。 –
これは私の質問に対する解決策として私が使用したアプローチです。私は[ClassInitialize()]を使用して、テストメソッドで使用するチャンクにプライベート静的メンバーを設定しました。 追加のテスト属性メソッドの実行順序を決定するのにhttp://blogs.msdn.com/b/nnaderi/archive/2007/02/17/explaining-execution-order.aspxが便利です。 – Noren