問題タブ [mstest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
962 参照

mstest - MSTest とカスタム メッセージ

最近、テストに mstest を使い始めました。

  1. テストが成功した場合、テスト ウィンドウにメッセージを書き込む方法はありますか? 方法がわかりません。テストが失敗した場合にのみメッセージが許可されます。テストを開かなくても、テストの意味を確認できるように、テストの説明を少しだけ表示したい場合はどうすればよいでしょうか。または、現在のように、いくつかのテストの実行時間を測定していて、そのタイムアウトを出力したいと考えています。

  2. テスト実行モードを選択して、時間測定の有無にかかわらずテストが必要かどうかを簡単に選択できるように、テスト方法を拡張する方法はありますか?

ありがとう

0 投票する
3 に答える
10185 参照

mstest - コンパイル/ビルドせずにmstestでテストを実行する

方法はありますか?テストを開始するたびにビルドを待つ必要がありますか?テストからではなく、ビジュアルスタジオから構築したい

ありがとう

0 投票する
3 に答える
4992 参照

c# - アセンブリ負荷の問題のデバッグ

単体テスト(VisualStudioのMSTest-.NET3.5 SP1)中に非常に奇妙な問題が発生しました:

  1. [ソリューションですべてのテストを実行する]をクリックします
  2. 1つの特定のクラスを除いて、すべてのテストに合格します。ただし、すべてのテストで次の例外がスローされます。「System.IO.FileLoadException:このアセンブリをロードすると、他のインスタンスとは異なる許可セットが生成されます。(HRESULTからの例外:0x80131401)」
  3. 次に、クラスにブレークポイントを設定します。結果:クラス内のすべてのテストに合格します(以前に失敗したのと同じテスト)。
  4. 「ソリューションですべてのテストを実行」をクリックします。別のクラスを除いて、すべてのテストに合格します。
  5. クラスにブレークポイントを設定します。結果:クラス内のすべてのテストに合格
  6. 「ソリューションですべてのテストを実行」をクリックします。最初のテストクラスを除いて、すべてのテストに合格します。

ご覧のとおり、問題は非常に一貫性がなく、デバッグが困難です。

Fusion Log Viewerを使用してみましたが、わかりにくい結果になりました。

何を探すべきですか?他の誰かがこの問題を経験しましたか?

更新: いくつかの追加情報が要求されました。

テストは何ヶ月も問題なく実行されました。前回実行したのは木曜日だったと思いますが、その後は問題なく実行されました。私はソース管理の履歴を調べて、何かが変更されたかどうかを確認しようとしていますが、異常なことは何もありません。

過去のさまざまな日にプロジェクトを追跡してチェックアウトすることはできましたが、Visual Source Safeを使用しています(私は知っています-私の決定ではありません:-()ので、それを行うのをためらっています。

テストは通常​​の単体テストであり、モックオブジェクトにMoqを使用しています...しかし、私が言ったように、最近まで正常に機能していました。

この問題をデバッグする方法についてのアドバイスを期待していました。

0 投票する
3 に答える
2518 参照

unit-testing - LINQ2SQL リポジトリの単体テスト

私は MsTest と Moq で最初の一歩を踏み出しており、Linq2SQL リポジトリ クラスを単体テストしたいと考えています。問題は、単体テストで開発データベースを永続的に変更したくないことです。

このシナリオに最適なアプローチはどれですか?

  • 各テストが実際の開発データベースで動作するようにしますが、各テストが終了したら必ずクリーンアップするようにしてください
  • 単体テスト用に開発データベースと dbml の複製を作成し、代わりにそのコンテキストを使用して、各テストを実行する前にデータベース全体をクリアできるようにします。
  • Datacontext をモックする精巧な方法を見つけてください (私は完全な Moq 初心者であることを覚えておいてください)。
  • 全然違うもの?おそらく、各テストの実行前にデータベースのセットアップを自動化するものでしょうか?

編集: MBUnit には、テスト ケースによって実行されたデータベース操作を元に戻すロールバック属性があることを知りました。私は特に MSTest に愛着があるわけではないので、これは私の問題に対する簡単な答えでしょうか?

0 投票する
4 に答える
10934 参照

visual-studio - VisualStudioテストプロジェクト-展開時にフォルダーをコピーしません

問題は次のとおり
です。1。VisualStudioソリューションでTestProjectを作成します。
2. .testrunco​​nfigファイルを開き、[デプロイメント]メニュー項目で[デプロイメントを有効にする]チェックボックスを選択します。
3.次に、[ディレクトリの追加...]ボタンをクリックして、いくつかのファイルを含むフォルダを追加します。
4.テストプロジェクトを実行します(ダミーテストを使用します)。

では、TestResultsフォルダーを確認してください。すべてのファイルが(トップレベルに)直接コピーされていることがわかります。フォルダー自体は(ファイルが下にある状態で)コピーされていません。これは、テスト中に私のパスを台無しにします。下のファイルだけでなく、フォルダをコピーする方法を誰かに教えてもらえますか?

ありがとう。

0 投票する
7 に答える
2649 参照

c++ - fmod Visual C ++テストを追加した後、1つのテストで特定のコード行がある場合、すべてのテストが失敗し、型を取得できず、FileNotFoundExceptionが発生します

何が問題を引き起こしたのかはわかりましたが、理由はまだわかりません。これはfmod、を使い始めたときに発生したものであり、リンカーが静的ライブラリと.dllの実行を決定する方法と関係があるはずです。テスト中の私のコードは静的ライブラリです。これはfmodex_vc、別の静的ライブラリを参照します。これは、ある時点で(いつかはわかりませんが)、そのにロードすることを決定しますfmodex.dll。(これは他のすべてと同じディレクトリにあるので、なぜそれが見つからないのかわかりません。)私の知る限り、テスト対象のコードはfmod初期化関数を絶対に呼び出しませんが、fmodにはいくつかあります。自分自身を初期化し、dllにロードする静的グローバル初期化子?そして、そのコードは、それを使用するモジュール内のコードが...使用された場合にのみ引き込まれますか?

VisualStudioテストフレームワークを使用してアンマネージC++コードをテストしていますが、fmodを使用し始めると、機能しなくなりました。何もしない「テスト」テストでさえ、すべてのテストが報告されます(読みやすくするためにラップされています)。

ファイルを除外して再度追加するなど、試行錯誤を繰り返し.cppた結果、問題が発生するのは1つのテストファイルだけであることがわかりました。そして、この行が呼び出された場合にのみ実行されます。

興味深いことに、その行がコード内にある場合、すべてのテストはそのメッセージで失敗し始めます。 EntityMgr::Init()はほとんど何もしない関数です:

Entity、FWIWは、ポインタがなくfloat、フィールドにさまざまなsがあるだけの、かなりバニラなクラスです。

  • テストをどのように実行しても(テストビューから、選択して実行、すべて実行、コマンドラインから実行、テストメニューから)、エラーが発生します。
  • デバッガーを使用してテストにステップインしようとすると失敗します。デバッガーがステップインする前にテストが失敗します。システム例外でブレークするようにデバッガーを設定しても、何も実行されませんでした。
  • テスト対象のコードは静的な.libです。CLRサポートは/clrです。
  • ああ、これはちょうど:静的エンティティメンバー関数を呼び出す場合、同じ取引です。上記の静的関数をクラスの外に移動した場合も、同じようになります。しかし、その関数を別のモジュールに移動すれば問題ありません。

例外でデバッガーを中断するように設定すると、何か面白いものが得られます。

もちろん、その場所にはソースコードはありません。コールスタックは次のとおりです。

そして、これがmstestが報告するスタックトレースです-私はそれから何も有用なものを手に入れません。

なぜfmodがこれを行うのですか?

0 投票する
4 に答える
6863 参照

unit-testing - Resharper ユニット テスト ランナー: MSTest 展開アイテムの問題

ReSharper Unit Test Runner: 展開アイテムのサポート

上記の質問の補足質問があります。mstest 単体テストを実行するために、ネイティブの mstest サポートを備えた resharper バージョン 4.5 を使用しています。testrunco​​nfig を使用するように resharper の単体テスト オプションを構成すると (デプロイメント アイテムのセットを利用するために)、結果やエラーを表示せずにテストの実行が終了します。resharper の mstest ランナーを使用している人は、同じ問題または類似の問題を抱えていますか?

0 投票する
6 に答える
1233 参照

visual-studio-2008 - MSTestに複数の「TestClass」を含めることは可能ですか?

MSTestで単体テストを作成しようとしていますが、2つのTestClassを作成しました。テストリストエディタを見ると、表示されているテストは、クラスの1つに表示されているものだけです。

これらの両方のクラスからテストを実行する方法がわかりません。何か案は?

0 投票する
2 に答える
523 参照

visual-studio-2008 - MFC での MSTest の使用

MSTest を使用して MFC コードをテストする人はいますか?

マネージ C++ テスト プロジェクトを作成し、その中に単体テストを記述できますが、一度#include <afxwin.h>問題が発生します。コードがコンパイルされ、テストが実行されると、UI がハングし、シンボルが読み込まれなくなります。テストをデバッグすることもできません。を削除する#includeと、テストは正常に実行されます。何か案は?

マルチスレッド デバッグ (/mtd) を使用して /clr でコンパイルし、共有 dll を介して MFC を使用しています。MFC に静的にリンクすることを選択した場合、コンパイラ (VSVC9.0) は /clr と /mtd に互換性がないことを通知します。

また、テストに DependencyInput を追加すると、これが修正されると思いますか? いくつかの MFC dll を依存関係の入力として追加しようとしましたが、役に立ちませんでした。私はそれを間違っているかもしれません。

ありがとう。

0 投票する
1 に答える
119 参照

.net - アプリケーションで mstest を使用する方法はありますか

アプリケーション内で mstests を実行する方法はありますか?

これらはどのように機能するか、プロジェクトをフォルダーに配置し、アプリケーションをポイントしてテストを実行する必要があります

お時間ありがとうございます