現在、初めての負荷テストを開発中ですので、ご容赦ください〜
負荷テスト自体は、HTTPハンドラーにさまざまな要求をPOSTする一連の単体テストを実行しています。負荷テストが実行されているエージェントに応じて、リクエスト自体が開発/ステージング環境に対して行われ、リクエストを「処理」するダウンストリームサービスに渡され、INSERT
いくつかのデータベースに対してステートメントが実行されます。イベントハンドラーILoadTestPlugin
用の独自の一連の命令を実装および提供する単純なプラグインを構築して含めたかったのです。LoadTestCompleted
このプラグインは現在、負荷テスト自体を収容しているのと同じソリューションに含まれている別のクラスライブラリプロジェクトに含まれています。
問題の説明に入る前に、現在、IISで設定したのと同じハンドラーに対してローカルで負荷テストを実行していることを指摘しておきます。
イベントが発生したときに問題が発生し、メソッドがターゲットデータベースコンテキストへのエンティティ接続を確立しようとします(現在はEntity Framework 4を使用しています)。プラグインコードが、負荷テストプロジェクトに含まれているapp.configを見つけられないようです。例外メッセージ/スタックトレースは、接続文字列が無効であることを示していますが、問題は接続文字列が見つからないことです。その上、この同じ接続文字列は、コードベース全体のさまざまな場所で使用されています。
同じ構成ファイルを使用して同じコードを実行する単純な単体テストメソッドを作成すると、問題なく機能するため、接続文字列が無効になる可能性を排除できます。これは、負荷テストエージェントがプロジェクトのディレクトリとは異なるディレクトリに含まれているために与えられたものであり、構成ファイルの検索に問題はありません。
また、スタートアッププロジェクトの出力ディレクトリにコピーされた構成ファイルを、展開アイテムとして.testsettingsファイルに追加してみました。ブエノはありません。また、プラグインプロジェクトにアプリ構成ファイルを作成しました。これは、それが機能するかどうかを確認するために使用しようとしているファイルの正確なコピーです。まだブエノはありません。
誰かがこの問題に遭遇しましたか?構成ファイルのセクションを使用しようとしている場合<connectionString>
、負荷テストプラグインを取得してそれらを検索/使用するにはどうすればよいですか?
リフレクションとgoodole'を使用しConfigurationManager
て、アセンブリを呼び出してパス(および最終的にはProjectName.dll.configファイル)を見つけようとしましたが、StackOverflowのプロに少し質問したいと思いました。先に進む前にアドバイス。
また、これがそれほど単純なEFコードではなかった場合(または、次のポイントを超えていた場合var dbContext = new dbContext( myConnectionString );
) 、コード例を提供します。
ヘルプ/フィードバックは大歓迎です。